sed正規表現を使用して良いレベルのプロセスを抽出するのに役立ちます。
おおよその出力例
ps -l 4411
<stuff*> NI <*stuff>
<stuff*> 19 <*stuff>
質問
私はNIと19が欲しい。
NIと19の両方を取得する方法がわかりません。現在、次の資格があります。
ps -l 4411 | \
sed s'#.*\(NI\).*#\1#'g
NI
<*numbers*>
もちろん、これは私に「NI」を提供し、その底を抽出する方法を知りません。
答え1
sed
または、他のコマンドラインツール(たとえば)を使用する必要はありませんawk
。同じps
コマンドを使用して列を指定できます。
ps -o ni 4411
#or
ps -o nice 4411
これにより、次の内容が表示されます。
NI
19
本当にコマンドラインツールを使用するにはを使用する必要がありますawk
。
アッ
これが返される場合ps -l 4411
:
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 1000 22150 4822 0 80 0 - 2773 sigsus pts/4 0:01 /bin/zsh
NI
次に、8番目の列を取得するには、次の方法を使用する必要があります。
ps -l 22150 | awk '{print $8}'