特定の数字で始まる行を選択する

特定の数字で始まる行を選択する

PIDシステム上のプロセスの、PPID、を表示する必要がありますが、 5~8 の範囲の数字で始まるSTATUSものだけを表示する必要があります。そこで、次のようなことを試しました...PID

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

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

答え1

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

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

答え2

これを試して :

ps xao pid,ppid,s | grep '^ *[5-8]'
  • ^意味: 行(または文字列)の始まり
  • *量指定子(前の文字用):ゼロまたはN
  • []は、範囲、ここでは5から8

関連情報