2013-01-08 270 views
0

嘗試在兩個文件中讀取四個不同的列並對其進行適當的分配。誰能幫忙?循環內循環?

languagefile.txt寫着: 語言isocode

english.txt寫着: 字段值

我也想通過這兩個文件環和關聯的isocode & &名外地&值。

我有一個while循環,做了english.txt文件:

cat english.txt| while read FIELD VALUE; do 
GET https://googleapis.com/language/translate/v2?key=$mykey&q=$VALUE&source=en&target=es 
echo "$FIELD "$VALUE"; done 

不過,我需要延伸到帳戶的languagefile了。所以它會這樣做:

cat english.txt| while read FIELD VALUE; do 
GET https://googleapis.com/language/translate/v2?key=$mykey&q=$VALUE&source=en&target=$isocode 
echo "$ISO $FIELD "$VALUE" >> $Language.txt; done 

我希望這是有道理的。我最終只需要爲每種語言和ISO代碼做它。上最好的approiaach不知道

+0

是GET命令嗎?還有:讀一個bc:這意味着在b的第二個字段中取第一個字段,並在c中取其餘的行。 (由IFS分隔的字段,默認空格,製表符和換行符)。不知道這是你想做什麼... –

回答

0

如果我理解你正確,最簡單的解決方案可能會利用paste

while read -r iso field value; do 
    # do something with $iso $field and $value 
done < <(paste languagefile.txt english.txt) 

注意,事情會得到更多的毛毛,如果任何輸入數據字段可以包含空格。

0

對不起,讓我換句話說,是GET是一個命令。

文件1包含: 語言ISO

文件2包含: 字段值

我最終希望有最終結果爲: language.txt: ISO字段值

如果語言。 txt來自file1,字段1。

所以它需要像這樣: 對於每次讀取$ language,請使用$ field $ value $ iso(對應於$ language中的行)執行GET請求,然後將結果輸入到$ language.txt中格式$ iso $ field $ value

+0

你應該編輯你的原始問題,而不是添加一個解釋作爲一個'答案'。當人們開始對答案進行投票時,您的額外解釋將被排序得更低,所以其他人可能看不到它。 – pepoluan