-1

我将以这种方式详细说明一个包含一些文本和电子邮件地址的文件:

TEXT\n
Cc: mail1,\n
    mail2,\n
    mail3\n
EMPTY LINE\n
TEXT

我必须将抄送列表加载到 bash 变量中:FOO="mail1, mail2, mail3"。如何使用 sed (或其他命令)?

4

2 回答 2

0

sed通常一次只评估一行。你可以让它匹配多行,但这很丑陋。我建议Perl改用。

FOO=`perl -e 'local $/=undef; open FILE, "input.txt"; $text=<FILE>; close FILE; print "$1, $2, $3" if $text =~ /Cc: (.*?),\n (.*?),\n (.*?)\n/s;'`
于 2012-08-29T16:19:44.063 回答
0

如果您已经Procmail安装并且输入文件被格式化为单个 RFC822 电子邮件,如示例中所示,

FOO=$(formail -c -xCc: <file)
于 2012-08-29T20:31:35.720 回答