Seleccionar líneas que comiencen con números específicos

Seleccionar líneas que comiencen con números específicos

Tengo que mostrar los procesos PIDen el sistema, pero solo los que comienzan con números en el rango 5-8. Así que intenté algo como esto...PPIDSTATUSPID

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

Pero luego no sé cómo hacerlo para el rango, puedo hacerlo funcionar para un número, pero no para todos.

Respuesta1

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

Si el PID tiene cinco dígitos, no tiene un espacio al principio de la línea, de ahí la ' *'parte después de grep. '^'^solo busca al principio (por lo tanto, no seleccionar PPID comienza con 5,6,7,80 y '[5-8]'maneja el rango de números que desea (también podría hacerlo '[5678]')

Respuesta2

Prueba esto :

ps xao pid,ppid,s | grep '^ *[5-8]'
  • ^significa: inicio de línea (o cadena)
  • *es un cuantificador (para el carácter anterior): cero o N
  • []es el metacarácter para indicar unrango, aquí de 5 a 8

información relacionada