2012-12-04 46 views
0

我有一個文本文件,例如input.txt,我想運行一個命令並將輸出寫入另一個文本文件,如output.txt。我需要從input.txt讀取值,每個值都在一行中,然後我需要將它們插入到命令中,然後將結果寫入output.txt文件。我嘗試以下,它正常工作與我:Shell腳本從文件中讀取兩個值並將它們插入到命令中

for i in `cat input.txt`; do command -m $i -b 100; echo $i; >> output.txt; done 

現在,我需要在這個一些改進,但我有在Linux的一點經驗,所以我需要一些幫助。

我需要做的是: 1)在每個命令結果之前,我想插入用逗號分隔的值i。例如:

i1,result1 
i2,result2 
i3,result3 

2)I需要改變第二固定值,我在我的命令使用從固定值(100),以從讀input.txt的值。因此,新的輸入文件,其中包含兩個值,也就是說,newinput.txt是因爲以下幾點:

i1,value1 
i2,value2 
i3,value3 

回答

1

試試這個,在bash:

IFS=',' 
while read i val; do 
    echo -n "$i," 
    command $i $val 
done <input.txt> output.txt 
+0

這就是我得到:'擊:語法錯誤附近意外的令牌'do'' – user1810868

+0

當我在刪除'''之前,我得到了:'while:command not found' – user1810868

+0

我解決了這個問題。我正在寫終端腳本。當我將它寫入一個文件然後執行它時,它就起作用了。 – user1810868

相關問題