2015-10-01 82 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