2015-10-01 36 views
2

这是脚本: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。任何人都会注意那个?

回答

2

您可以使用占位符读变量_消耗4列之后的一切就像这样:

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

也没有必要设置IFS全球并将其保存为可以使用IFS=,只是read之前,它会只会影响read的通话。

+1

是的,这工作正常!谢谢! – Milkncookiez