web-dev-qa-db-ja.com

特定の番号で始まる行を選択します

システム上のプロセスのPIDPPID、およびSTATUSを表示する必要がありますが、PIDが5の範囲の数字で始まるものだけです。 -8。だから私はこのようなことを試みました...

ps xao pid,ppid,s | grep ' 5'

しかし、その範囲でそれを行う方法がわかりません。1つの番号で機能させることはできますが、すべての番号で機能させることはできません。

3
Pablo
ps xao pid,ppid,s | grep '^ *[5-8]'

PIDが5桁の場合、行の先頭にスペースがないため、grepの後に' *'の部分があります。 '^'^は最初からのみ検索します(したがって、PPIDを選択しないと5、6、7、80で始まります。'[5-8]'は必要な数の範囲を処理します('[5678]'も実行できます)

4
Anthon

これを試して :

ps xao pid,ppid,s | grep '^ *[5-8]'
  • ^意味:行の開始(または文字列)
  • *は量指定子(前の文字の場合):ゼロまたはN
  • []は、 regex の範囲を示すメタ文字です。ここでは5〜8です。
2
Gilles Quenot