2013-05-14 26 views
1

我有個製表符分隔feadList具有兩列(date + id):過程製表符分隔的文件並保存每列作爲變量

20130509 1319 
20130510 1320 
20130511 1321 
20130512 1322 
20130513 1323 

在讀取每一行中,我想從一個網絡鏈接捲曲數據使用id然後保存到文件名爲date的文件中。現在我有類似的東西:

for feed in $feadList 
do 
    awk -F "\t" '{print date=$1, seq=$2}' $feed 
    curl "$WebLink/$seq/data" > $date 
done 

但顯然它不起作用。夥計們對此有所瞭解?謝謝!

回答

5

一種不同的方式做這將是

while read date seq 
do 
    curl "$WebLink/$seq/data" > $date 
done < feadList 
2
while read date seq 
do 
    curl "$WebLink/$seq/data" > $date 
done < feadList 

read命令(內置在外殼)將數據分割線到分配給$date$seq兩個字段,然後你可以使用這些在循環的主體中。如果一行中有多餘的字段,則它們也將記錄在$seq之內。

你的shell符號根本不會按你的需要工作。該循環將僅使用變量$feadList(與feadList不同,作爲文件名)中的值執行一次。命令awk將輸出到每個輸入行的標準輸出一行,其中包含分割數據。但是,這將是簡單的輸出...將不會分配到shell變量$date$seq,並且curl命令將無法按預期工作。

相關問題