GREP para Processos por Diretório e Mate-o

1

Estou tentando grep para processos que se originam do diretório / Applications / (para eliminá-los), mas meu comando grep continua capturando alguns falsos também. O que estou fazendo errado aqui?

$ ps -ef | grep -e '/Applications/' | grep -v grep | awk '{print $8}'
/Library/Application        I DON'T WANT THIS
/Library/Application        I DON'T WANT THIS
/Applications/Firefox.app/Contents/MacOS/firefox
/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal
/Applications/Notes.app/Contents/MacOS/Notes
    
por habibmustafa 03.06.2014 / 22:10

3 respostas

0

Tente incluir um espaço em branco no seu padrão:

...  grep -e ' /Applications/'  ...

Além disso, pkill (uma oferta padrão no Linux) está agora incluído no OS X Mountain Lion (10.8) e acima. Consulte o link

    
por 03.06.2014 / 22:26
1

Use a âncora ^ (símbolo de circunflexo) para indicar o início da linha / campo e alterar a ordem de comando:

 ps -ef | grep -v grep | awk '{print $8}' | grep "^/Applications"

Dessa forma, o grep será executado por último e retornará apenas as linhas que iniciam com /Applications .

Este também é útil.

    
por 03.06.2014 / 22:22
1

Se você está se preocupando em salvar tiques da CPU:

ps -ef | awk '$8~"^/Applications/"{print $8}'
    
por 03.06.2014 / 22:46