将文本附加到管道文件
Append text to a piped file
我正在通过管道传输文件 bash 我怎样才能在文件末尾附加一些文本?
cat filename.txt | append "text to append" | final_command
编辑:这必须在不创建新文件的情况下完成
应该这样做:
(cat filename.txt && echo "text to append") | final_command
如果您不想在末尾使用换行符,请使用 echo -n
:
(cat filename.txt && echo -n "text to append") | final_command
在我看来,这个解决方案更简洁:
echo "text to append" | cat filename.txt - | final_command
也比较灵活,比如你可以
echo "text to append" | cat file1.txt - file2.txt ... | final_command
OP 选择的解决方案在第二种情况下会很尴尬。
还有几个选择:
cat filename.txt <(echo "text to append") | final_command
final_command <(cat filename.txt; echo "text to append")
(假设 final_command
可以从参数而不是默认标准输入中获取输入)
我正在通过管道传输文件 bash 我怎样才能在文件末尾附加一些文本?
cat filename.txt | append "text to append" | final_command
编辑:这必须在不创建新文件的情况下完成
应该这样做:
(cat filename.txt && echo "text to append") | final_command
如果您不想在末尾使用换行符,请使用 echo -n
:
(cat filename.txt && echo -n "text to append") | final_command
在我看来,这个解决方案更简洁:
echo "text to append" | cat filename.txt - | final_command
也比较灵活,比如你可以
echo "text to append" | cat file1.txt - file2.txt ... | final_command
OP 选择的解决方案在第二种情况下会很尴尬。
还有几个选择:
cat filename.txt <(echo "text to append") | final_command
final_command <(cat filename.txt; echo "text to append")
(假设 final_command
可以从参数而不是默认标准输入中获取输入)