Selecione as linhas que começam com números específicos

3

Eu tenho que mostrar o PID , PPID e STATUS dos processos no sistema, mas somente aqueles que PID começam com números no intervalo 5-8. Então eu tentei algo assim ...

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

Mas não sei como fazer isso para o intervalo, posso fazê-lo funcionar para um número, mas não para todos.

    
por Pablo 06.01.2015 / 19:21

2 respostas

3

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

Se o PID tiver cinco dígitos, você não terá um espaço no começo da linha, daí a ' *' parte após o grep. '^'^ procura apenas no início (assim, não selecionando PPID está iniciando com 5,6,7,80 e. '[5-8]' manipula o intervalo de números desejado (também pode fazer '[5678]' )

    
por 06.01.2015 / 19:47
2

Tente isto:

ps xao pid,ppid,s | grep '^ *[5-8]'
  • ^ significa: início da linha (ou string)
  • * é um quantificador (para o caractere precedente): zero ou N
  • [] é o meta-caractere para indicar um intervalo , aqui 5 para 8
por 06.01.2015 / 19:47