すべての行をファイルに出力/tmp/ps.txt
$ ps -e >/tmp/ps.txt
計算するには、wc -lを使用してください。
$ wc -l /tmp/ps.txt
172
数を計算するためにファイルをエクスポートする必要はありません。
$ ps -e | wc -l
173
ps -e | wc -l
追加の行を追加するのはなぜですか?
私はそうは思わないCtrl-Dに正しい説明があります私の質問に。
$ echo "test" | wc -l
1
端末でこれを試してください。次のように2が生成されます。Ctrl-Dは言うでしょう。
答え1
追加の行は実行中のwcプログラムです。 ps以降ではなく同時に実行されます。
答え2
Ctrl-Dへの回答そうだね
ps
コマンドが何であるかを理解していないようです。~のため。システムのプロセスを一覧表示します。
コマンドを実行すると、ps
実行中のインスタンスがそれ自体それは一つのプロセスです。
コマンドを実行することもwc
1つのプロセスです。
パイプラインにいくつかのコマンドを追加すると、各コマンドもcat
1つのプロセスになり、各コマンドの結果はさらに1行ps
出力されます。
[vagrant@localhost ~]$ ps | wc -l
4
[vagrant@localhost ~]$ ps | cat | wc -l
5
[vagrant@localhost ~]$ ps | cat | cat | wc -l
6
[vagrant@localhost ~]$ ps | wc -l
4
[vagrant@localhost ~]$ ps
PID TTY TIME CMD
22912 pts/0 00:00:00 bash
29651 pts/0 00:00:00 ps
[vagrant@localhost ~]$
「1」が表示されるという事実はecho "test" | wc -l
全く関係がない。