取消引用变量并将其附加到其他字符串

时间:2013-10-04 22:09:51

标签: linux bash shell unix sh

我想要做的是从文本文件中读取一行,并在每行的末尾附加.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
你可以帮我解决这个问题吗? 谢谢! :)

2 个答案:

答案 0 :(得分:0)

您的代码适合我。 (看起来它也适用于其他人)。很难说这里有什么问题。但是,替代方法可能是使用awk

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

(不要使用相同的文件进行输入和输出!这会截断输入文件)

答案 1 :(得分:0)

尝试cat sets.txt | while read line怎么样?这更标准。