Discussion:
[shell-script] String exata
Mauricy Maiorino mauricym@ccuec.unicamp.br [shell-script]
2017-08-25 21:26:15 UTC
Permalink
Pessoal

Estou tentado achar uma string exata com sed ou grep, mas não está
funcionando.

Arquivo contém

@/backup/turmalina

Preciso que ache exatamente a palavra turmalina, se fizer um grep com
"turma" a linha é listada e isto não deve acontecer!

Mauricy
Tiago Peczenyj tiago.peczenyj@gmail.com [shell-script]
2017-08-25 21:28:36 UTC
Permalink
Ola

Não entendi. Pode dar um exemplo mais claro?

grep turmalina arquivo ?

Em sex, 25 de ago de 2017 às 23:26, Mauricy Maiorino
Post by Mauricy Maiorino ***@ccuec.unicamp.br [shell-script]
Pessoal
Estou tentado achar uma string exata com sed ou grep, mas não está
funcionando.
Arquivo contém
@/backup/turmalina
Preciso que ache exatamente a palavra turmalina, se fizer um grep com
"turma" a linha é listada e isto não deve acontecer!
Mauricy
--
Tiago B. Peczenyj

http://about.me/peczenyj
Mauricy Maiorino mauricym@ccuec.unicamp.br [shell-script]
2017-08-25 21:41:16 UTC
Permalink
Olá

O conteúdo do arquivo é:

@/etc/bacula/clients/CCUEC/client_mantusCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_maracujaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_marulaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_melanciaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_melaoCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_messinaCCUEC-fd.conf

Preciso filtrar o nome exato, para testar caso seja digitado o nome
errado do client para selecioná-lo. Por exemplo, se digitar "mar" eu
tenho o retorno de "maracuja" e "marula". Preciso filtrar o nome exato,
para não acontecer este erro!

Mauricy
Post by Tiago Peczenyj ***@gmail.com [shell-script]
Ola
Não entendi. Pode dar um exemplo mais claro?
grep turmalina arquivo ?
Em sex, 25 de ago de 2017 às 23:26, Mauricy Maiorino
Pessoal
Estou tentado achar uma string exata com sed ou grep, mas não está
funcionando.
Arquivo contém
@/backup/turmalina
Preciso que ache exatamente a palavra turmalina, se fizer um grep com
"turma" a linha é listada e isto não deve acontecer!
Mauricy
--
Tiago B. Peczenyj
http://about.me/peczenyj
Cristiano Amaral cristianoeinar@gmail.com [shell-script]
2017-08-25 21:44:08 UTC
Permalink
grep -w turmalina arquivo
Post by Mauricy Maiorino ***@ccuec.unicamp.br [shell-script]
Olá
@/etc/bacula/clients/CCUEC/client_mantusCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_maracujaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_marulaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_melanciaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_melaoCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_messinaCCUEC-fd.conf
Preciso filtrar o nome exato, para testar caso seja digitado o nome errado
do client para selecioná-lo. Por exemplo, se digitar "mar" eu tenho o
retorno de "maracuja" e "marula". Preciso filtrar o nome exato, para não
acontecer este erro!
Mauricy
Ola
Não entendi. Pode dar um exemplo mais claro?
grep turmalina arquivo ?
Em sex, 25 de ago de 2017 às 23:26, Mauricy Maiorino
Post by Mauricy Maiorino ***@ccuec.unicamp.br [shell-script]
Pessoal
Estou tentado achar uma string exata com sed ou grep, mas não está
funcionando.
Arquivo contém
@/backup/turmalina
Preciso que ache exatamente a palavra turmalina, se fizer um grep com
"turma" a linha é listada e isto não deve acontecer!
Mauricy
--
Tiago B. Peczenyj
http://about.me/peczenyj
Mauricy Maiorino mauricym@ccuec.unicamp.br [shell-script]
2017-08-25 21:54:40 UTC
Permalink
Desta forma a linha tem que conter somente a palavra turmalina, mas a
Post by Cristiano Amaral ***@gmail.com [shell-script]
grep -w turmalina arquivo
Jonathan Lessa jonathanlessa@gmail.com [shell-script]
2017-08-25 23:42:26 UTC
Permalink
O problema é que vc está criando uma consulta com uma expressão que pode se
repetir, vc tem que incrementar a expressão colocando prefixos e sufixos à
palavra que está pesquisando de forma que sua expressão seja unicamente
identificada.
Por exemplo, "turmalina" pode se repetir no arquivo, mas
"client_turmalinaCCUEC"
não, então vc pesquisa pelo que não se repete.



Em 25 de ago de 2017 6:55 PM, "Mauricy Maiorino ***@ccuec.unicamp.br
[shell-script]" <shell-***@yahoogrupos.com.br> escreveu:



Desta forma a linha tem que conter somente a palavra turmalina, mas a linha
é @/etc/bacula/clients/CCUEC/client_turmalinaCCUEC-fd.conf



Em 25/08/2017 18:44, Cristiano Amaral ***@gmail.com
[shell-script] escreveu:

grep -w turmalina arquivo
jprnogueira@yahoo.com.br [shell-script]
2017-08-25 22:28:55 UTC
Permalink
grep 'marCCUEC' arquivo.txt
phfbettega@yahoo.com.br [shell-script]
2017-08-25 23:32:26 UTC
Permalink
Olá Mauricy, se entendi, veja se isso ajuda.

mauricy(){
saida=$(sed -n 's/.*_\('"$1"'.*\)CCUE.*/\1/p' mauricy)
if [ "$saida" -a "$(wc -l <<<"$saida")" -eq 1 ]; then
echo comandos com o nome "$saida"
else [ "$saida" ] && echo -e "Mais de uma ocorrência:\n$saida" || echo Nenhuma ocorrência.
fi;}

$ mauricy mar
Mais de uma ocorrência:
maracuja
marula
$ mauricy mas
Nenhuma ocorrência.
$ mauricy mes
comandos com o nome messina

Abraços Paulo
Post by Mauricy Maiorino ***@ccuec.unicamp.br [shell-script]
Olá
@/etc/bacula/clients/CCUEC/client_mantusCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_maracujaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_marulaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_melanciaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_melaoCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_messinaCCUEC-fd.conf
Preciso filtrar o nome exato, para testar caso seja digitado o nome errado do client para selecioná-lo. Por
exemplo, se digitar "mar" eu tenho o retorno de "maracuja" e "marula". Preciso filtrar o nome exato, para não
acontecer este erro!
Mauricy
Post by Tiago Peczenyj ***@gmail.com [shell-script]
Ola
Não entendi. Pode dar um exemplo mais claro?
grep turmalina arquivo ?
Pessoal
Estou tentado achar uma string exata com sed ou grep, mas não está
funcionando.
Arquivo contém
@/backup/turmalina
Preciso que ache exatamente a palavra turmalina, se fizer um grep com
"turma" a linha é listada e isto não deve acontecer!
Mauricy
--
Tiago B. Peczenyj
http://about.me/peczenyj
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
Jonathan Lessa jonathanlessa@gmail.com [shell-script]
2017-08-25 23:32:16 UTC
Permalink
varNome=turmalina
grep -E client_${varNome}CCUEC-fd.conf arquivo


Em 25 de ago de 2017 6:41 PM, "Mauricy Maiorino ***@ccuec.unicamp.br
[shell-script]" <shell-***@yahoogrupos.com.br> escreveu:



Olá

O conteúdo do arquivo é:

@/etc/bacula/clients/CCUEC/client_mantusCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_maracujaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_marulaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_melanciaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_melaoCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_messinaCCUEC-fd.conf

Preciso filtrar o nome exato, para testar caso seja digitado o nome errado
do client para selecioná-lo. Por exemplo, se digitar "mar" eu tenho o
retorno de "maracuja" e "marula". Preciso filtrar o nome exato, para não
acontecer este erro!

Mauricy

Em 25/08/2017 18:28, Tiago Peczenyj ***@gmail.com [shell-script]
escreveu:


Ola

Não entendi. Pode dar um exemplo mais claro?

grep turmalina arquivo ?

Em sex, 25 de ago de 2017 às 23:26, Mauricy Maiorino
Post by Mauricy Maiorino ***@ccuec.unicamp.br [shell-script]
Pessoal
Estou tentado achar uma string exata com sed ou grep, mas não está
funcionando.
Arquivo contém
@/backup/turmalina
Preciso que ache exatamente a palavra turmalina, se fizer um grep com
"turma" a linha é listada e isto não deve acontecer!
Mauricy
--
Tiago B. Peczenyj

http://about.me/peczenyj
itamarnet@yahoo.com.br [shell-script]
2017-08-26 02:08:55 UTC
Permalink
Caro Mauricy

O que você descreve não é uma string exata, o que deseja é uma parte de uma string naquilo que você considera uma palavra, que não bate com as delimitações de palavras que o grep, sed ou awk reconheceria.
Essa delimitação é uma concepção sua e pessoal, mas não sistemática.

Pela forma como entendi o que está entre "client_" e "CCUEC" é o trecho que você deseja, onde considera sua palavra, mesmo que digite apenas um pedaço para consultar.


Baseado nisso poderia usar um sed assim:
sed -n '/turma/{s/.*client_//;s/CCUEC.*//;p;}' arquivo.txt

Só que nessa forma vai filtrar baseado em qualquer parte da linha e não no trecho de interesse apenas, mas é uma opção.


Ou poderia ser um sed assim:
sed -n 's/.*client_//;s/CCUEC.*//;/turma/{p;}' arquivo.txt

Nesse caso o filtro seria apenas no trecho que interessa


Em ambos os casos é apenas trocar a pesquisa do exemplo "turma" pelo que desejar

É isso?

[]'s
Itamar
Mauricy Maiorino mauricym@ccuec.unicamp.br [shell-script]
2017-08-28 14:25:56 UTC
Permalink
Então, entendi o que quis dizer, mas eu não quero retorno quando eu
digitar "turma", ou seja, "turma" não é um nome de máquina válido,
apenas turmalina. Eu preciso que quando um nome "errado" seja inserido,
o comando não retorne nada, apenas quando o nome "bater" com o que
existe no arquivo.

Mauricy
Post by ***@yahoo.com.br [shell-script]
Caro Mauricy
O que você descreve não é uma string exata, o que deseja é uma parte
de uma string naquilo que você considera uma palavra, que não bate com
as delimitações de palavras que o grep, sed ou awk reconheceria.
Essa delimitação é uma concepção sua e pessoal, mas não sistemática.
Pela forma como entendi o que está entre "client_" e "CCUEC" é o
trecho que você deseja, onde considera sua palavra, mesmo que digite
apenas um pedaço para consultar.
sed -n '/turma/{s/.*client_//;s/CCUEC.*//;p;}' arquivo.txt
Só que nessa forma vai filtrar baseado em qualquer parte da linha e
não no trecho de interesse apenas, mas é uma opção.
sed -n 's/.*client_//;s/CCUEC.*//;/turma/{p;}' arquivo.txt
Nesse caso o filtro seria apenas no trecho que interessa
Em ambos os casos é apenas trocar a pesquisa do exemplo "turma" pelo que desejar
É isso?
[]'s
Itamar
Tiago Tarifa Munhoz tiagotarifa@gmail.com [shell-script]
2017-08-29 01:00:09 UTC
Permalink
Fala Mauricy, tudo bem?

Pelo que entendi no conteúdo do arquivo, o "separador" dos nomes dos
clients são o '_' no inicio e 'CCUEC' no final, certo?

Se for realmente isso o que eu faria:
1- usaria o grep para pegar o nome do client o mais exato que puder:
Ex: nome="$(grep -o '_mantusC' arquivolog.txt)"

2- Removeria o excesso das "bordas". Mas para isso eu usaria uma
variável (como você pode ver no grep acima):
nome=${nome#_} //remove somente o primeiro '_'.
nome=${nome%C} //Remove somente o ultimo 'C'

Para ter certeza se deu certo:
echo $nome

No 'grep' acima você pode trocar '_mantusC' por "_${client}C", não
testei mas é para funcionar.

abs
Post by Mauricy Maiorino ***@ccuec.unicamp.br [shell-script]
Olá
@/etc/bacula/clients/CCUEC/client_mantusCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_maracujaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_marulaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_melanciaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_melaoCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_messinaCCUEC-fd.conf
Preciso filtrar o nome exato, para testar caso seja digitado o nome errado do client para selecioná-lo. Por exemplo, se digitar "mar" eu tenho o retorno de "maracuja" e "marula". Preciso filtrar o
nome exato, para não acontecer este erro!
Mauricy
 
Ola
Não entendi. Pode dar um exemplo mais claro?
grep turmalina arquivo ?
 
Pessoal
Estou tentado achar uma string exata com sed ou grep, mas não está
funcionando.
Arquivo contém
@/backup/turmalina
Preciso que ache exatamente a palavra turmalina, se fizer um grep com
"turma" a linha é listada e isto não deve acontecer!
Mauricy
--
Tiago B. Peczenyj
http://about.me/peczenyj
--
Tiago Tarifa Munhoz
Tiago Tarifa Munhoz tiagotarifa@gmail.com [shell-script]
2017-08-29 01:46:49 UTC
Permalink
Também fiz em sed, ficou assim:

sed -r 's/.*client_([[:alpha:]]+)CCUEC.+$/\1/' teste.txt

Abs
Post by Mauricy Maiorino ***@ccuec.unicamp.br [shell-script]
Olá
@/etc/bacula/clients/CCUEC/client_mantusCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_maracujaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_marulaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_melanciaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_melaoCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_messinaCCUEC-fd.conf
Preciso filtrar o nome exato, para testar caso seja digitado o nome errado do client para selecioná-lo. Por exemplo, se digitar "mar" eu tenho o retorno de "maracuja" e "marula". Preciso filtrar o
nome exato, para não acontecer este erro!
Mauricy
 
Ola
Não entendi. Pode dar um exemplo mais claro?
grep turmalina arquivo ?
 
Pessoal
Estou tentado achar uma string exata com sed ou grep, mas não está
funcionando.
Arquivo contém
@/backup/turmalina
Preciso que ache exatamente a palavra turmalina, se fizer um grep com
"turma" a linha é listada e isto não deve acontecer!
Mauricy
--
Tiago B. Peczenyj
http://about.me/peczenyj
--
Tiago Tarifa Munhoz
Mauricy Maiorino mauricym@ccuec.unicamp.br [shell-script]
2017-08-29 10:48:39 UTC
Permalink
Farei os testes como sugeriu. Obr.
Post by Tiago Tarifa Munhoz ***@gmail.com [shell-script]
sed -r 's/.*client_([[:alpha:]]+)CCUEC.+$/\1/' teste.txt
Abs
Post by Mauricy Maiorino ***@ccuec.unicamp.br [shell-script]
Olá
@/etc/bacula/clients/CCUEC/client_mantusCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_maracujaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_marulaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_melanciaCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_melaoCCUEC-fd.conf
@/etc/bacula/clients/CCUEC/client_messinaCCUEC-fd.conf
Preciso filtrar o nome exato, para testar caso seja digitado o nome
errado do client para selecioná-lo. Por exemplo, se digitar "mar" eu
tenho o retorno de "maracuja" e "marula". Preciso filtrar o
Post by Mauricy Maiorino ***@ccuec.unicamp.br [shell-script]
nome exato, para não acontecer este erro!
Mauricy
Ola
Não entendi. Pode dar um exemplo mais claro?
grep turmalina arquivo ?
Em sex, 25 de ago de 2017 às 23:26, Mauricy Maiorino
Pessoal
Estou tentado achar uma string exata com sed ou grep, mas não está
funcionando.
Arquivo contém
@/backup/turmalina
Preciso que ache exatamente a palavra turmalina, se fizer um grep com
"turma" a linha é listada e isto não deve acontecer!
Mauricy
--
Tiago B. Peczenyj
http://about.me/peczenyj
--
Tiago Tarifa Munhoz
Cristiano Amaral cristianoeinar@gmail.com [shell-script]
2017-08-25 21:41:27 UTC
Permalink
grep -o turmalina arquivo
Post by Mauricy Maiorino ***@ccuec.unicamp.br [shell-script]
Pessoal
Estou tentado achar uma string exata com sed ou grep, mas não está
funcionando.
Arquivo contém
@/backup/turmalina
Preciso que ache exatamente a palavra turmalina, se fizer um grep com
"turma" a linha é listada e isto não deve acontecer!
Mauricy
Mauricy Maiorino mauricym@ccuec.unicamp.br [shell-script]
2017-08-25 21:45:59 UTC
Permalink
Já tentei, mas para testar condição se existe ou não, ele me retorna
qualquer conteúdo que digitar errado que esteja "dentro" da palavra
turmalina, exemplo turma.

grep -o turma

turma
Post by Cristiano Amaral ***@gmail.com [shell-script]
grep -o turmalina arquivo
Pessoal
Estou tentado achar uma string exata com sed ou grep, mas não está
funcionando.
Arquivo contém
@/backup/turmalina
Preciso que ache exatamente a palavra turmalina, se fizer um grep com
"turma" a linha é listada e isto não deve acontecer!
Mauricy
'Julio C. Neves' julio.neves@gmail.com [shell-script]
2017-08-26 16:03:22 UTC
Permalink
grep -w turmalina
Post by Mauricy Maiorino ***@ccuec.unicamp.br [shell-script]
Pessoal
Estou tentado achar uma string exata com sed ou grep, mas não está
funcionando.
Arquivo contém
@/backup/turmalina
Preciso que ache exatamente a palavra turmalina, se fizer um grep com
"turma" a linha é listada e isto não deve acontecer!
Mauricy
'Julio C. Neves' julio.neves@gmail.com [shell-script]
2017-08-28 15:13:51 UTC
Permalink
grep -W '\bturma\b' arquivo
Oi Julio, desta forma, como a linha não contém apenas a palavra turmalina,
É que o meu script pedirá o nome das máquinas, e quero que quando for
digitado um nome errado, seja por engano ou por erro de digitação, não
retorne nada, apenas quando for digitado "turmalina", ou seja, para não
pegar "turm" ou "turma" etc.
Mauricy
grep -w turmalina
Mauricy Maiorino mauricym@ccuec.unicamp.br [shell-script]
2017-08-28 16:19:08 UTC
Permalink
Não funciona aqui, não tenho opção -W (maiúsculo) e quando executo com
minúsculo também não retorna nada!!
Post by 'Julio C. Neves' ***@gmail.com [shell-script]
grep -W '\bturma\b' arquivo
Em 28 de ago de 2017 11:29, "Mauricy Maiorino
Oi Julio, desta forma, como a linha não contém apenas a palavra
turmalina, ele não retorna nada! A linha contém
@/etc/bacula/clients/CCUEC/client_turmalinaCCUEC-fd.conf. É que o
meu script pedirá o nome das máquinas, e quero que quando for
digitado um nome errado, seja por engano ou por erro de digitação,
não retorne nada, apenas quando for digitado "turmalina", ou seja,
para não pegar "turm" ou "turma" etc.
Mauricy
Post by Cristiano Amaral ***@gmail.com [shell-script]
grep -w turmalina
maik alberto maik.alberto@hotmail.com [shell-script]
2017-08-28 16:29:04 UTC
Permalink
grep '\b'turma'\b' arquivo



________________________________
De: shell-***@yahoogrupos.com.br <shell-***@yahoogrupos.com.br> em nome de Mauricy Maiorino ***@ccuec.unicamp.br [shell-script] <shell-***@yahoogrupos.com.br>
Enviado: segunda-feira, 28 de agosto de 2017 13:19
Para: shell-***@yahoogrupos.com.br
Assunto: Re: [shell-script] String exata



Não funciona aqui, não tenho opção -W (maiúsculo) e quando executo com minúsculo também não retorna nada!!


Em 28/08/2017 12:13, 'Julio C. Neves' ***@gmail.com<mailto:***@gmail.com> [shell-script] escreveu:

grep -W '\bturma\b' arquivo

Em 28 de ago de 2017 11:29, "Mauricy Maiorino ***@ccuec.unicamp.br<mailto:***@ccuec.unicamp.br> [shell-script]" <shell-***@yahoogrupos.com.br<mailto:shell-***@yahoogrupos.com.br>> escreveu:


Oi Julio, desta forma, como a linha não contém apenas a palavra turmalina, ele não retorna nada! A linha contém @/etc/bacula/clients/CCUEC/client_turmalinaCCUEC-fd.conf. É que o meu script pedirá o nome das máquinas, e quero que quando for digitado um nome errado, seja por engano ou por erro de digitação, não retorne nada, apenas quando for digitado "turmalina", ou seja, para não pegar "turm" ou "turma" etc.

Mauricy

Em 26/08/2017 13:03, 'Julio C. Neves' ***@gmail.com<mailto:***@gmail.com> [shell-script] escreveu:
grep -w turmalina
Jonathan Lessa jonathanlessa@gmail.com [shell-script]
2017-08-28 16:39:35 UTC
Permalink
grep client_turmalinaCCUEC arquivo

Se isso funcionar pra vc é só colocar o que for digitado em uma variável e
substituir turmalina pela variável.
Post by Mauricy Maiorino ***@ccuec.unicamp.br [shell-script]
Não funciona aqui, não tenho opção -W (maiúsculo) e quando executo com
minúsculo também não retorna nada!!
grep -W '\bturma\b' arquivo
Oi Julio, desta forma, como a linha não contém apenas a palavra
turmalina, ele não retorna nada! A linha contém
@/etc/bacula/clients/CCUEC/client_turmalinaCCUEC-fd.conf. É que o meu
script pedirá o nome das máquinas, e quero que quando for digitado um nome
errado, seja por engano ou por erro de digitação, não retorne nada, apenas
quando for digitado "turmalina", ou seja, para não pegar "turm" ou "turma"
etc.
Mauricy
grep -w turmalina
Mauricy Maiorino mauricym@ccuec.unicamp.br [shell-script]
2017-08-28 19:31:36 UTC
Permalink
Blz, vou testar desta forma!.
Post by Jonathan Lessa ***@gmail.com [shell-script]
grep client_turmalinaCCUEC
Tiago Peczenyj tiago.peczenyj@gmail.com [shell-script]
2017-08-30 15:40:13 UTC
Permalink
Ola
Post by Jonathan Lessa ***@gmail.com [shell-script]
grep client_turmalinaCCUEC arquivo
Eu também iria por esse caminho

se uma linha contem esta string

@/etc/bacula/clients/CCUEC/client_*turmalina*CCUEC-fd.conf


não adianta procurar com bordas ( \b ) pois o caso não é uma linha contendo
uma frase e vc quer procurar turma e não encontrar turmalina POIS temos
duas strings coladas: turmalina + CCUEC

agora se existe um padrão do tipo

client_${nome}CCUEC


e o nome não contem essas strings tipo CCUEC ou client_ pra complicar a
nossa vida

basta fazer um

bash$ grep "client_${nome}CCUEC" arquivo.dat


e vai dar certo. ou então:

if grep -q "client_${nome}CCUEC" arquivo.dat ; then
Post by Jonathan Lessa ***@gmail.com [shell-script]
echo "encontrei"
else
echo "nao encontrei"
fi
Abraços
Post by Jonathan Lessa ***@gmail.com [shell-script]
Se isso funcionar pra vc é só colocar o que for digitado em uma variável e
substituir turmalina pela variável.
Post by Mauricy Maiorino ***@ccuec.unicamp.br [shell-script]
Não funciona aqui, não tenho opção -W (maiúsculo) e quando executo com
minúsculo também não retorna nada!!
grep -W '\bturma\b' arquivo
Oi Julio, desta forma, como a linha não contém apenas a palavra
turmalina, ele não retorna nada! A linha contém
@/etc/bacula/clients/CCUEC/client_turmalinaCCUEC-fd.conf. É que o meu
script pedirá o nome das máquinas, e quero que quando for digitado um nome
errado, seja por engano ou por erro de digitação, não retorne nada, apenas
quando for digitado "turmalina", ou seja, para não pegar "turm" ou "turma"
etc.
Mauricy
grep -w turmalina
--
Tiago B. Peczenyj

http://about.me/peczenyj
'Julio C. Neves' julio.neves@gmail.com [shell-script]
2017-08-28 20:24:21 UTC
Permalink
Desculpe, respondi de um celular e deve ter sido barbeiragem minha. O que
eu queria dizer era:

grep '\bturmalina\b' Arquivo

Em Setembro/Outubro darei um treinamento de 40 horas no RJ e em BSB
sobre Programação em Shell, com imersão em Expressões Regulares e
dicas de YAD. Para mais detalhes acesse goo.gl/JkWmBx

Em Dezembro um curso com este mesmo conteúdo/carga horária será
lecionado em SP. Maiores detalhes neste site.
<https://www.4linux.com.br/curso/programacao-em-shell-script>



Abcs,
Julio

*Damos treinamento em sua empresa por **um preço, *
*no mínimo, 50% mais barato que qualquer curso,*
*com certificado e nota fiscal.*

​​
Nosso time de instrutores *in company* é formado somente por
​
​
autores
​ ​
​
de
*Best Sellers​ ​*​laureados ​sobre os temas. P. exemplo:

Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico
Post by Mauricy Maiorino ***@ccuec.unicamp.br [shell-script]
Não funciona aqui, não tenho opção -W (maiúsculo) e quando executo com
minúsculo também não retorna nada!!
grep -W '\bturma\b' arquivo
Oi Julio, desta forma, como a linha não contém apenas a palavra
turmalina, ele não retorna nada! A linha contém
@/etc/bacula/clients/CCUEC/client_turmalinaCCUEC-fd.conf. É que o meu
script pedirá o nome das máquinas, e quero que quando for digitado um nome
errado, seja por engano ou por erro de digitação, não retorne nada, apenas
quando for digitado "turmalina", ou seja, para não pegar "turm" ou "turma"
etc.
Mauricy
grep -w turmalina
Mauricy Maiorino mauricym@ccuec.unicamp.br [shell-script]
2017-08-28 21:00:27 UTC
Permalink
Então Julio, desta forma não me retorna nada, até tentei aqui.
Post by 'Julio C. Neves' ***@gmail.com [shell-script]
Desculpe, respondi de um celular e deve ter sido barbeiragem minha. O
grep '\bturmalina\b' Arquivo
Em Setembro/Outubro darei um treinamento de 40 horas no RJ e em BSB
sobre Programação em Shell, com imersão em Expressões Regulares e
dicas de YAD. Para mais detalhes acesse goo.gl/JkWmBx
<https://goo.gl/JkWmBx>
Em Dezembro um curso com este mesmo conteúdo/carga horária será
lecionado em SP. Maiores detalhes neste site.
<https://www.4linux.com.br/curso/programacao-em-shell-script>
Abcs,
Julio
*Damos treinamento em sua empresa por **um preço, *
*no mínimo, 50% mais barato que qualquer curso,*
*com certificado e nota fiscal.*
​​
Nosso time de instrutores /in company/ é formado somente por
​
​
autores
​ ​
​
de /Best Sellers
​ ​
Shell básico e Programação em ShellJulio Neves
BaculaHeitor Medrado
ZabbixAdail Host
Produção Gráfica e VideografismoCadunico
Em 28 de agosto de 2017 13:19, Mauricy Maiorino
Não funciona aqui, não tenho opção -W (maiúsculo) e quando executo
com minúsculo também não retorna nada!!
Post by 'Julio C. Neves' ***@gmail.com [shell-script]
grep -W '\bturma\b' arquivo
Em 28 de ago de 2017 11:29, "Mauricy Maiorino
Oi Julio, desta forma, como a linha não contém apenas a
palavra turmalina, ele não retorna nada! A linha contém
@/etc/bacula/clients/CCUEC/client_turmalinaCCUEC-fd.conf. É
que o meu script pedirá o nome das máquinas, e quero que
quando for digitado um nome errado, seja por engano ou por
erro de digitação, não retorne nada, apenas quando for
digitado "turmalina", ou seja, para não pegar "turm" ou
"turma" etc.
Mauricy
Post by Cristiano Amaral ***@gmail.com [shell-script]
grep -w turmalina
Heitor Faria heitor@bacula.com.br [shell-script]
2017-08-28 20:51:16 UTC
Permalink
Se é para Bacilar o Heitor Farias (vc) já deve ter a solução completa.
Olá, Julio, Mauricy,
Post by 'Julio C. Neves' ***@gmail.com [shell-script]
grep -W '\bturma\b' arquivo
Oi Julio, desta forma, como a linha não contém apenas a palavra turmalina, ele
não retorna nada! A linha contém
@/etc/bacula/clients/CCUEC/client_turmalinaCCUEC-fd.conf.
Espero que esteja tudo bem contigo, Mauricy.
Como caí de paraquedas não sei por que está pegando o nome do Cliente da configuração do Bacula, mas já tentou buscar direto do bconsole? Por Exemplo:

***@hfaria-desk-i5:~# echo ".clients" |bconsole
Connecting to Director hfaria-desk-i5:9111
1000 OK: 102 hfaria-desk-i5-dir Version: 7.4.4 (20 September 2016)
Enter a period to cancel a command.
.clients
hfaria-desk-i5-fd
Post by 'Julio C. Neves' ***@gmail.com [shell-script]
É que o meu script pedirá o nome das máquinas, e quero que quando for digitado
um nome errado, seja por engano ou por erro de digitação, não retorne nada,
apenas quando for digitado "turmalina", ou seja, para não pegar "turm" ou
"turma" etc.
Um grep normal não resolve?
Post by 'Julio C. Neves' ***@gmail.com [shell-script]
Mauricy
Post by Cristiano Amaral ***@gmail.com [shell-script]
grep -w turmalina
__._,
Abraços,
--
===========================================================================
Heitor Medrado de Faria | CEO Bacula do Brasil | Visto EB-1 | LPIC-III | EMC 05-001 | ITIL-F
• Não seja tarifado pelo tamanho dos seus backups, conheça o Bacula Enterprise: http://www.bacula.com.br/enterprise/
• Ministro treinamento e implementação in-company do Bacula Community: http://www.bacula.com.br/in-company/
+55 61 98268-4220 | www.bacula.com.br
============================================================================
Indicamos também as capacitações complementares:
• Shell básico e Programação em Shell com Julio Neves.
• Zabbix com Adail Host.
============================================================================
Mauricy Maiorino mauricym@ccuec.unicamp.br [shell-script]
2017-08-28 20:59:45 UTC
Permalink
Olá Heitor, tudo bem? Prazer em "revê-lo" aqui!! Então, sim, por aqui
tudo bem, na verdade estou fazendo um script para facilitar na hora de
colocar um job para executar, ao invés de ter que entrar no bconsole e
procurar na relação o client, o script já submete o job diretamente, aí
eu estou querendo fazer uma consistência se por acaso um nome de client
errado for digitado, para não submeter client que não existe. Então
gostaria de alguma forma ter a certeza que somente a string exata,
contendo o nome correto do client seja retornado. Mas agora depois de
conversar com os colegas aqui da lista tive a idéia de montar uma lista
com os clients(somente o nome) e mandar checar com o grep -w(aí vai
funcionar). Isto porque estamos com aprox. 300 e poucos clients e com a
tendência de crescer mais!!

Obrigado pela ajuda. Grande abraço!

Mauricy
Se é para Bacilar o Heitor Farias (vc) já deve ter a solução completa.
Olá, Julio, Mauricy,
Em 28 de ago de 2017 12:13, "Julio C. Neves"
grep -W '\bturma\b' arquivo
Em 28 de ago de 2017 11:29, "Mauricy Maiorino
Oi Julio, desta forma, como a linha não contém apenas a
palavra turmalina, ele não retorna nada! A linha contém
@/etc/bacula/clients/CCUEC/client_turmalinaCCUEC-fd.conf.
Espero que esteja tudo bem contigo, Mauricy.
Como caí de paraquedas não sei por que está pegando o nome do Cliente
da configuração do Bacula, mas já tentou buscar direto do bconsole?
Connecting to Director hfaria-desk-i5:9111
1000 OK: 102 hfaria-desk-i5-dir Version: 7.4.4 (20 September 2016)
Enter a period to cancel a command.
.clients
hfaria-desk-i5-fd
É que o meu script pedirá o nome das máquinas, e quero que
quando for digitado um nome errado, seja por engano ou por
erro de digitação, não retorne nada, apenas quando for
digitado "turmalina", ou seja, para não pegar "turm" ou
"turma" etc.
Um grep normal não resolve?
Mauricy
Em 26/08/2017 13:03, 'Julio C. Neves'
grep -w turmalina
__._,
Abraços,
--
===========================================================================
Heitor Medrado de Faria |CEO Bacula do Brasil | Visto EB-1 | LPIC-III
| EMC 05-001 | ITIL-F
• Não seja tarifado pelo tamanho dos seus backups, conheça o Bacula
Enterprise: http://www.bacula.com.br/enterprise/
http://www.bacula.com.br/in-company/
+55 61 98268-4220 | www.bacula.com.br <http://www.bacula.com.br/>
============================================================================
•Shell básico e Programação em Shell <http://www.livrate.com.br/> com
Julio Neves.
•Zabbix <http://www.spinola.net.br/blog> com Adail Host.
============================================================================
Loading...