在 bash 行尾打印 by 循环的值



我的文件运行循环...

$cat /wdc-cron/countries.csv
c-ac,ascension_island
c-ad,andorra
c-ae,united_arab_emirates

我的程序文件

yesterday=$(date --date "1 days ago" +%F)
while IFS= read -r line
do
dir=$(echo $line | awk -F, '{print $1 }')
country=$(echo $line | awk -F, '{print $2 }')
cd /$dir.whoisdatacenter.com
echo $country >> /wdc-cron/count-$yesterday.txt
cat /$dir.whoisdatacenter.com/$yesterday-$country-email.csv | wc -l >> /wdc-cron/count-$yesterday.txt
awk '{print $country,",",$dir}' 
done < "/wdc-cron/countries.csv"

我的结果是

cat count-2020-01-22.txt 
ascension_island
0
andorra
0
united_arab_emirates
32

我应该这样做的结果是这样的

ascension_island, 0
andorra, 0
united_arab_emirates, 32

如果有人能帮助我,我会很高兴,

一个可能的解决方案是替换以下行:

echo $country >> /wdc-cron/count-$yesterday.txt

跟:

printf "$country, " >> /wdc-cron/count-$yesterday.txt

而不是

$ awk '{print $country,",",$dir}' 

只需使用echo命令即可。

最新更新