Bash如何阻止
如何阻止grep
截斷管道輸出
有什麼方法可以
echo
在管道的末尾簡單地附加到目前輸出而不是全部刪除?例如,如何保留我的輸出cat
並grep
在同一管道的輸出末尾添加“END OF OUTPUT”:$ cat file.txt | grep 'foo' | echo "END OF OUTPUT" something foo foo foo something END OF OUTPUT
類似於如何
cat -
工作:echo "START OF OUTPUT" | cat - file.txt
像這樣:
{ grep foo file.txt; echo END OF OUTPUT; } > output.txt
將命令分組而不啟動子 shell(Bourne shell 除外)。
你可以這樣做:
grep foo file.txt | cat - <(echo END OF OUTPUT) > output.txt
(使用 ksh、bash 或 zsh),但這會創建更多額外的程序和管道,而不會帶來額外的好處。
使用子shell對輸出進行分組,
(grep foo file.txt; echo "END OF OUTPUT") > output.txt