for i in `cat file.txt`; do echo "${i} end"; done
。但是“end”这个词(加上空格)不会被附加,而是附加。当我使用while循环时会发生同样的事情。谁能告诉我那里发生了什么?我在LinuxMint13 64bit(Cinammon和Mate)上使用GNU bash版本4.2.37。
感谢您的帮助!
答案 0 :(得分:1)
您应该使用while循环而不是for循环as explained here。
while IFS= read -r line
do
echo "$line end"
done < "file.txt"
答案 1 :(得分:0)
这可能只是你的语法 - 不要忘记do
。那就是:
for i in `cat file.txt`; do echo "${i} end"; done
如果您正在询问如何使用&#34;结束&#34;附加到每一行,试试这个:
for i in `cat file.txt`; do echo "${i} end" >> some_new_file; done
答案 2 :(得分:0)
使用循环是唯一的选择吗?如果你想做的就是在每一行的末尾添加一些东西,那么使用sed
可能更容易:
sed -ie 's/.*/& end/' file.txt