Para cada saída do grep, execute vários comandos

1

Primeiro :

sudo netstat -nptc | grep -oP "\K[0-9]*(?=/perl)"

O acima me dá o pid quando eles são iniciados, então ele está constantemente rodando.

Segundo :

Para cada saída do primeiro comando acima, quero executar abaixo:

ps aux | grep <output of first>

Como isso pode ser feito?

    
por Exocomp 22.07.2017 / 19:23

1 resposta

1

Para enviar a saída de um comando para a linha de comando de outro comando, use xargs .

A complicação aqui é que você precisa iniciar um pipeline e, para isso, usar um shell. Isso pode ser feito com algo como:

sudo netstat -nptc | grep -oP "\K[0-9]*(?=/perl)" | xargs -l sh -c 'ps aux | grep "$0"'

( Referência )

    
por 22.07.2017 / 19:56