Zeilen auswählen, die mit bestimmten Zahlen beginnen

Zeilen auswählen, die mit bestimmten Zahlen beginnen

Ich muss die PID, PPIDund STATUSder Prozesse auf dem System anzeigen, aber nur die, die PIDmit Zahlen im Bereich 5-8 beginnen. Also habe ich so etwas versucht ...

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

Aber dann weiß ich nicht, wie ich das für den Bereich machen soll. Ich kann es für eine Zahl zum Laufen bringen, aber nicht für alle.

Antwort1

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

Wenn die PID fünfstellig ist, steht am Zeilenanfang kein Leerzeichen, daher der ' *'Teil nach grep. '^'^sucht nur am Anfang (und wählt daher nicht aus, PPID beginnt mit 5,6,7,80 und '[5-8]'verarbeitet den gewünschten Zahlenbereich (könnte auch funktionieren '[5678]')

Antwort2

Versuche dies :

ps xao pid,ppid,s | grep '^ *[5-8]'
  • ^bedeutet: Zeilenanfang (oder Stringanfang)
  • *ist ein Quantifizierer (für vorangehendes Zeichen): Null oder N
  • []ist das Metazeichen zur Bezeichnung einesBereich, hier 5 bis 8

verwandte Informationen