передача grep в переменную в bash

У меня есть файл с именем email.txt, подобный этому:

Subject:My test
From:my email <myemail@gmail.com>

this is third test

Я хочу извлечь из этого файла только адрес электронной почты с помощью сценария bash. Поэтому я поместил этот сценарий в свой сценарий bash с именем myscript:

#!/bin/bash

file=$(myscript)

var1=$(awk 'NR==2' $file)

var2=$("$var1" | (grep -Eio '\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b'))

echo $var2

Но мне не удалось запустить этот сценарий. Когда я запускаю эту команду вручную в bash, я могу получить адрес электронной почты:

echo $var1 | grep -Eio '\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b'

Мне нужно сохранить адрес электронной почты в переменной, чтобы я мог использовать его в другой функции. Может ли кто-нибудь показать мне, как решить эту проблему? Спасибо.

12
задан flesk 12 June 2012 в 08:25
поделиться