私が望むのは、出力(ヘッダー)の最初の行とps aux
grepの結果を印刷することです。
検索した結果、次の結論が得られました。
ps aux | tee >(head -1 > /dev/tty) | grep mongo
grep mongo
しかし、stdinが壊れていることがわかりました。
また、省略すると> /dev/tty
直接標準出力はどうなりますかhead -1
?コンソールはなぜできないのですか?
(はい、私はコマンドを使って欲しいものを得ることができることを知っています。awk
なぜ私のコマンドがうまくいかないのかと思います。)
答え1
これを使用して、awk
2つを同時に一致させることができます。
- 最初の行。
- 「mongo」を含む行です。
それだけです:
$ ps aux | awk 'NR == 1 || /mongo/ {print $0}'
- 条件が
NR == 1
最初の行と一致します。 - 条件は
/mongo/
「mongo」を含む行と一致します。 {print $0}
は最初の2つの条件に関連する操作です。この場合、ライン全体を印刷します。