最初に一連の列ヘッダーである1行を生成し、次に一連のデータを生成するプログラムから出力を取得しています。この出力のさまざまな列を切り取り、さまざまな列に従って並べ替えて表示したいと思います。ヘッダーがない場合、-k
を使用して簡単に切り取りと並べ替えを行うことができます。 sort
のオプション cut
と一緒に またはawk
列のサブセットを表示します。ただし、この並べ替え方法では、列ヘッダーが残りの出力行と混ざり合います。ヘッダーを一番上に保つ簡単な方法はありますか?
承認された回答:
アンディのアイデアを盗み、それを機能にして使いやすくする:
# print the header (the first line of input)
# and then run the specified command on the body (the rest of the input)
# use it in a pipeline, e.g. ps | body grep somepattern
body() {
IFS= read -r header
printf '%s\n' "$header"
"[email protected]"
}
今、私はできる:
$ ps -o pid,comm | body sort -k2
PID COMMAND
24759 bash
31276 bash
31032 less
31177 less
31020 man
31167 man
...
$ ps -o pid,comm | body grep less
PID COMMAND
31032 less
31177 less
Linux – `perf Record –a`(システム全体のコレクション)からプロファイルデータを分析する方法は?
Linux – Linuxで子プロセスを「オフライン」(外部ネットワークなし)で実行するコマンド?