2012-07-08 76 views
0

我的格式如何分割存储在一个文件转换成字符串(bash)的行

email1 "subject of email1" "body of email1" 
email2 "subject of email2" "body of email2" 

我想发电子邮件给所有的电子邮件ID的文件,用主题和正文从这个文件中挑选。

我已经试过类似以下,但如预期

cat ~/file.txt \ 
| while read -a CONTACT 
    do 
     echo ${CONTACT[2]} | mutt -s ${CONTACT[1]} ${CONTACT[0]} 
    done 

什么是去了解这一点的最好办法没有奏效?

+0

到哪里都是在接触来自何处?看起来你正在从你的文件中读取它们。 – 2012-07-08 13:59:22

+0

@DavidW。 CONTACT来自'read -a'over〜/ file.txt – 2012-07-10 06:32:11

回答

0

如果没有其他的双引号:

input="file.txt" 

IFS='"' 
while read -a CONTACT ; do 
    echo -e "<${CONTACT[0]}> <${CONTACT[1]}> <${CONTACT[3]}>" 
done < "$input" 

输出

<email1 > <subject of email1> <body of email1> 
<email2 > <subject of email2> <body of email2> 
1

试试这个

while read line;do 
    eval "set -- $line" 
    echo "$3"|mutt -s "$2" "$1" 
done <~/file.txt