Shell脚本打印的值比我想要的多

时间:2015-10-01 07:50:07

标签: bash shell

这是剧本:

OLDIFS=$IFS
IFS=","
while read f1 f2 f3 f4
do
        echo $f4,
done < users_test.csv
IFS=$OLDIFS

目标文件如下所示:

Type,Name,Email,User ID,Signed up,Last seen,Web sessions,Country,City

我只需要获得第4个值(在User ID下)。但是根据我编写的脚本,我得到了第四个值以及它之后的所有内容。

我跟着this tutorial。有人抬头看那个吗?

1 个答案:

答案 0 :(得分:2)

您可以使用占位符读取变量_来使用第4列之后的所有内容:

while IFS=, read -r f1 f2 f3 f4 _
do
   echo "$f4,"
done < users_test.csv

此外,您无需在全局设置IFS并保存,因为您可以在IFS=,之前使用read,而且只会影响read来电。