"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

ベストアンサー1

このように:

{ grep foo file.txt; echo END OF OUTPUT; } > output.txt

サブシェルを起動せずにコマンドをグループ化できます(Bourneシェルを除く)。

次のことができます。

grep foo file.txt | cat - <(echo END OF OUTPUT) > output.txt

(ksh、bash、またはzshを使用)しかし、これは追加の利点なしでより多くの追加のプロセスとパイプを生成します。

おすすめ記事