我正在通过bash传播一个文件,我怎么能在它的末尾附加一些文字?
cat filename.txt | append "text to append" | final_command
编辑:必须在不创建新文件的情况下完成此操作
答案 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选择的解决方案在第二种情况下会很尴尬。