2012-07-08 22 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