逐行读取文件并将其附加到中间带分号的变量中

时间:2017-11-28 11:21:24

标签: shell loops unix

我有一个包含

等邮件地址的.txt文件
a@xyz.com  
b@xyz.com  
c@xyz.com

我需要传递一个包含例如

值的变量
$MAIL_ID=a@xyz.com;b@xyz.com;c@xyz.com;

我想出了像

这样的东西
cat mail_list.txt | for MAIL_ID in $(cat ${1});
do
TEMP=' '
$ID=$MAIL_ID";"$TEMP
done
echo $ID

请帮助解决这个问题

2 个答案:

答案 0 :(得分:0)

每个条目都需要附加到$ ID。试试这个

ID=""
while read MAIL_ID
do
    ID=$ID";"$MAIL_ID
done < mail_list.txt
ID=$(echo $ID | cut -c2-)
echo $ID

答案 1 :(得分:0)

试试这个

MAIL_ID=''
while read email; do
  MAIL_ID=$MAIL_ID$email';'
done <a.txt

echo $MAIL_ID

输出

a@xyz.com;b@xyz.com;c@xyz.com;