Discussion:
[shell-script] Casando com palavra exata
Cesar Rodrigues bambamcbreal@gmail.com [shell-script]
2018-09-04 15:45:40 UTC
Permalink
Oi pessoal, boa tarde!
Gostaria de saber se existe algum comando no linux que case exatamente com
a palavra que eu busquei?

Exemplo: ps aux | grep processo

Se existir o processo1, processo2, processo3... o grep iria listar todos
eles. O problema é que eu quero pegar somente a palavra "*processo*".

grep "processo\b" não irá ajudar, pois estou desenvolvendo um script que
mate varios processos, o problema é que eu não to conseguindo fazer ele
matar processos com o nome exato.

Vamos supor que existem esses processos rodando na maquina:
processo, processo1, proc3, proc4, proc...

Eu quero matar somente os processos com o nome de: processo, proc.

Alguém já desenvolveu algo do tipo?
Vinicius Costa Carvalho vinicius@carvalho.inf.br [shell-script]
2018-09-04 16:49:40 UTC
Permalink
Opa!

Ve se não funciona:

grep "processo$"

[]s,
Post by Cesar Rodrigues ***@gmail.com [shell-script]
Oi pessoal, boa tarde!
Gostaria de saber se existe algum comando no linux que case exatamente com
a palavra que eu busquei?
Exemplo: ps aux | grep processo
Se existir o processo1, processo2, processo3... o grep iria listar todos
eles. O problema é que eu quero pegar somente a palavra "*processo*"..
grep "processo\b" não irá ajudar, pois estou desenvolvendo um script que
mate varios processos, o problema é que eu não to conseguindo fazer ele
matar processos com o nome exato.
processo, processo1, proc3, proc4, proc...
Eu quero matar somente os processos com o nome de: processo, proc.
Alguém já desenvolveu algo do tipo?
--
Vinicius Costa Carvalho

"Se enxerguei mais longe, foi porque me apoiei sobre os ombros de gigantes."
*Isaac Newton*
Cyolfi Cyro cyrocc@gmail.com [shell-script]
2018-09-04 17:20:34 UTC
Permalink
Fiz o seguinte lista:

processo
processo1
processo2
processox
processo.
processo!

Usei o comando abaixo:
egrep processo?'([[:space:]]|[[:punct:]])'

Obtive o resultado:

processo
processo.
processo!

Isso te ajuda?

Cyro Ciolfi



On Tue, Sep 4, 2018 at 1:50 PM Vinicius Costa Carvalho
Post by Vinicius Costa Carvalho ***@carvalho.inf.br [shell-script]
Opa!
grep "processo$"
[]s,
Post by Cesar Rodrigues ***@gmail.com [shell-script]
Oi pessoal, boa tarde!
Gostaria de saber se existe algum comando no linux que case exatamente
com a palavra que eu busquei?
Exemplo: ps aux | grep processo
Se existir o processo1, processo2, processo3... o grep iria listar todos
eles. O problema é que eu quero pegar somente a palavra "*processo*".
grep "processo\b" não irá ajudar, pois estou desenvolvendo um script que
mate varios processos, o problema é que eu não to conseguindo fazer ele
matar processos com o nome exato.
processo, processo1, proc3, proc4, proc...
Eu quero matar somente os processos com o nome de: processo, proc.
Alguém já desenvolveu algo do tipo?
--
Vinicius Costa Carvalho
"Se enxerguei mais longe, foi porque me apoiei sobre os ombros de gigantes."
*Isaac Newton*
'Julio C. Neves' julio.neves@gmail.com [shell-script]
2018-09-04 16:44:28 UTC
Permalink
A linha a seguir gera tudo qto é mistura de processo, mas somente o último
é que deve casar:
$ echo {1,3,5,}processo{1,4,6,}
1processo1 1processo4 1processo6 1processo 3processo1 3processo4 3processo6
3processo 5processo1 5processo4 5processo6 5processo processo1 processo4
processo6 processo

$ grep -o '\bprocesso\b' <<< $(echo {1,3,5,}processo{1,4,6,})
processo
$ grep -o '\<processo\>' <<< $(echo {1,3,5,}processo{1,4,6,})
processo
$ grep -w 'processo' <<< $(echo {1,3,5,}processo{1,4,6,})
processo

OBS: A opção -w é só no GNU grep

Abraços,
Julio

*» Não tem tempo para fazer um curso presencial?*
*» Na sua cidade não tem nenhum bom curso de Linux?*
*» **Conheça nosso portal educacional e estude conosco: *
* http://www.dicas-l.com.br/educacao
<http://www.dicas-l.com.br/educacao/>*
*» Treinamento presencial (em 4 sábados) no RJ e BSB *
* em http://bit.ly/cursoshelljulioneves
<http://bit.ly/cursoshelljulioneves> *



*Também damos treinamento em sua empresa*
*em qualquer cidade**, **com certificado **e nota fiscal.*
Post by Cesar Rodrigues ***@gmail.com [shell-script]
Oi pessoal, boa tarde!
Gostaria de saber se existe algum comando no linux que case exatamente com
a palavra que eu busquei?
Exemplo: ps aux | grep processo
Se existir o processo1, processo2, processo3... o grep iria listar todos
eles. O problema é que eu quero pegar somente a palavra "*processo*"..
grep "processo\b" não irá ajudar, pois estou desenvolvendo um script que
mate varios processos, o problema é que eu não to conseguindo fazer ele
matar processos com o nome exato.
processo, processo1, proc3, proc4, proc...
Eu quero matar somente os processos com o nome de: processo, proc.
Alguém já desenvolveu algo do tipo?
Dito Ramos diramos@uol.com.br [shell-script]
2018-09-04 17:27:41 UTC
Permalink
itamarnet@yahoo.com.br [shell-script]
2018-09-04 16:29:38 UTC
Permalink
Caro Cesar

Há algumas opção como:
grep -E -w 'processo|proc'
grep -E '\b(processo|proc)\b'


Ou pode usar no lugar de grep -E diretamente egrep


Acho que isso atende


[]'s
Itamar

Loading...