2013-10-04 29 views
0

我想要做的是從從文本文件中讀取一行,並在每行的末尾附加.in取消引用變量並將其附加到其他字符串

這是我的代碼。

while read line; do 
echo "${line}".in 
done < sets.txt 

sets.txt的內容是:

set1 
set2 
set3 

因此這段代碼應該打印

set1.in 
set2.in 
set3.in 

但是這個代碼產生

.in 
.in 
.in 

你能不能幫我解決這個問題? 謝謝! :)

+0

這裏工作很好;你有什麼版本的bash? –

+0

對我也很好 – hek2mgl

+0

你的代碼在這裏工作..它給了預期的輸出。你在'while ... do'塊中有其他代碼嗎? (C)2007自由軟件基金會, 肯特/號碼這就是我的腳本 – Kent

回答

0

您的代碼適用於我。 (它看起來也適用於其他人)。很難說這裏有什麼問題。然而,另一種可能是使用awk

awk '{printf "%s.in\n", $0}' input_file > output_file 

(不要使用相同的文件的輸入和輸出,這將截斷輸入文件!)

+0

我猜OP想知道他的代碼爲什麼不起作用。 – Kent

+0

(是的,我現在看到這..太快了;) – hek2mgl

0

關於嘗試cat sets.txt | while read line如何?這更標準。

+0

它不太標準,也不太理想。 –

相關問題