Solaris 9 - Comando Contagem de Palavras (wc) fornece saída errada

1

Quando eu uso o comando 'ps', 'egrep' e 'wc' para contar o número de processos, isso me dá um valor incorreto. Estou executando o comando na máquina 'Solaris 9' . Por favor, ajude a entender o problema.

MyServer $ ps -fu root | egrep -v 'bash|ksh|ssh|ef|mailx|nohup|defunct|ps|sh|FND'
     UID   PID  PPID  C    STIME TTY      TIME CMD
 root 16267 16171  0   Jan 28 ?        0:18 xyz
 root 16269 16171  0   Jan 28 ?        0:07 abc
 root 16268 16171  0   Jan 28 ?        0:07 ghi
MyServer $

Somente 4 linhas (3 processos + cabeçalho) exibidas na saída. Mas quando eu uso o comando abaixo, ele retorna a saída como 5

MyServer $ ps -fu root | egrep -v 'bash|ksh|ssh|ef|mailx|nohup|defunct|ps|sh|FND' | wc -l
       5

Por outro lado, quando faço eco da saída para um arquivo e contamos o número de linhas, isso funciona perfeitamente normal.

MyServer $ ps -fu root | egrep -v 'bash|ksh|ssh|ef|mailx|nohup|defunct|ps|sh|FND' >temp && cat temp | wc -l
       4
    
por Jass 04.02.2017 / 09:02

1 resposta

0

Acho que está contando o processo wc , que não será exibido quando a saída de ps estiver sendo canalizada para um arquivo.

Tente isto:

ps -fu root | egrep -v 'wc|bash|ksh|ssh|ef|mailx|nohup|defunct|ps|sh|FND' | wc -l
    
por 06.02.2017 / 17:33