将文本附加到管道文件

时间:2015-06-24 02:14:15

标签: linux bash unix append

我正在通过bash传播一个文件,我怎么能在它的末尾附加一些文字?

cat filename.txt | append "text to append" | final_command

编辑:必须在不创建新文件的情况下完成此操作

3 个答案:

答案 0 :(得分:4)

这应该这样做:

setup()

如果您不想在最后添加换行符,请使用(cat filename.txt && echo "text to append") | final_command

echo -n

答案 1 :(得分:1)

还有更多选择:

cat filename.txt <(echo "text to append") | final_command

final_command <(cat filename.txt; echo "text to append")

(假设final_command可以从参数而不是默认的stdin获取输入)

答案 2 :(得分:0)

在我看来,这个解决方案更简洁:

echo "text to append" | cat filename.txt - | final_command

它也更灵活,例如,你可以

echo "text to append" | cat file1.txt - file2.txt ... | final_command

OP选择的解决方案在第二种情况下会很尴尬。