[shell-script] Localizar arquivos que contenham uma determinada palavra

2008-07-26 Por tôpico bossonaroesao06
Pessoal...

Existe alguma forma de pesquisar todos os arquivos que contenham uma 
determinada palavra no seu conteúdo ?

Pelo que vi, os comandos locate e find so verificam o nome do arquivo e 
eu preciso que ele verifique o conteudo do arquivo.

Outra coisa, preciso que seja recursivo, ou seja, ele tem que pesquisar 
em todos os arquivos que estejam dentro de uma determinada pasta, 
incluindo as subpastas.

É dificil?

Obrigado
Adriiano 



[shell-script] Deletar linhas de um arquivo que contenham uma string?

2009-04-10 Por tôpico bossonaroesao06
Pessoal...

Como faço pra deletar todas as linhas de um arquivo de texto que contenham uma 
determinada string ?

Obrigado
Adriano



[shell-script] Re: Deletar linhas de um arquivo que contenham uma string?

2009-04-10 Por tôpico bossonaroesao06
Aproveitando a idéia do companheiro da lista, tentei usando sed mas não deletou 
não. 

# sed -n '/teste-123/d' arquivo.txt

Isso deveria deletar todas as linhas que contenham a string teste-123 no 
arquivo.txt correto?
Não funciona.
Alguem me ajuda?
Adriano



[shell-script] Re: Deletar linhas de um arquivo que contenham uma string?

2009-04-10 Por tôpico bossonaroesao06
sem o "-n" ta deletando sim...
muito obrigado!

só pra saber, pra que serve esse "-n" ?

valeu



[shell-script] Re: Deletar linhas de um arquivo que contenham uma string?

2009-04-10 Por tôpico bossonaroesao06
pior que nao deletou.

# sed '/teste-123/d' arquivo.txt

isso faz com que o arquivo inteiro passe pela tela mas no final se eu der um 
cat arquivo.txt | grep teste-123 , as linhas estao todas la.

Alguem ajuda?




[shell-script] Re: Deletar linhas de um arquivo que contenham uma string?

2009-04-10 Por tôpico bossonaroesao06
Eu to fazendo isso paralelamente...
Gosto de aprender!
A questao é tempo...to precisando disso pra agora, por isso recorri a lista!
Mas afinal, como faço pra deletar as linhas com a string teste-123 no 
arquivo.txt ?
Isso aki nao funciona:
# sed '/teste-123/d' arquivo.txt
Alguem ajuda?




[shell-script] Problemas com o editor VI

2009-08-16 Por tôpico bossonaroesao06
Boa tarde senhores,
Parece ridículo mas to recorrendo a lista por que não consigo solucionar um 
probleminha com o editor de texto VI.

Eu tenho um servidor e usava o vi 7.0 que me atendia perfeitamente... Eu acesso 
via ssh o servidor, copio qualquer texto e era só colocar ele em modo INSERT e 
usar o botão direito do mouse pra colar tudo.

Bom, troquei meu servidor e o vi agora é o 7.2. O problema é que agora quando 
copio um texto qualquer de fora do vi e coloco ele em modo INSERT para usar o 
botão direito do mouse pra colar, ele não cola mais nada e muda para o modo 
INSERT (VISUAL).
Resumindo...não da mais pra colar nada.

Tem alguma configuração que eu possa fazer pra voltar a usar o botão direito do 
mouse dentro do vi para colar?

Como eu colo no vi novo, ja que nem o :p ta fazendo isso?

Valeu
Adriano



[shell-script] Como enviar CRTL+C a um programa que esta rodando em segundo plano?

2007-03-17 Por tôpico bossonaroesao06
Bom dia...
Gostaria de fazer um script usando comando REC para gravar som.
Ao rodar o script, a gravaçao de som é iniciada e só pode ser 
terminada quando a variavel $valor for 0. 
Até aí tudo bem, mas para terminar corretamente o comando REC sem 
danificar o arquivo de som gerado, tem que usar um CRTL+C. 
A dúvida é exatamente essa... Como enviar um CRTL+C ao comando REC 
atraves do script?
Segue um rascunho do script que eu to imaginando:

#!/bin/bash
rec -t wav gravacao.wav &   # Inicia a gravacao em bg
valor=1 # Atribui valor 1 (gravando)
while [$valor==1] do# Enquanto o valor for 1
   valor=$(./getValor); # Recupera o valor(0=parar e 1=gravando)
   if [$valor==0] then  # Se valor=0 tem que parar, entao CRTL+C
  # aqui teria usar um CTRL+C no comando REC que está em bg
   fi
done

É mais ou menos essa a idéia. O problema está em como enviar um 
CRTL+C para esse programa REC que esta rodando em segundo plano.

Alguem pode me ajudar?
Obrigado




[shell-script] Re: Como enviar CRTL+C a um programa que esta rodando em segundo plano?

2007-03-17 Por tôpico bossonaroesao06
Olá Reinaldo Carvalho,
Obrigado pela atenção.

Realmente eu posso finalizar todos os processos "rec" usando killall -
2 rec ou o usando kill, mas mesmo assim eu gostaria de aprender como 
fazer o script enviar um CRTL+C para o processo REC que está em 
segundo plano?

Alguém me ajuda?
Obrigado



[shell-script] Re: Como enviar CRTL+C a um programa que esta rodando em segundo plano?

2007-03-17 Por tôpico bossonaroesao06
Rs
Excelente..Muito obrigado!!!
Abraço

--- Em shell-script@yahoogrupos.com.br, Fabiano Caixeta Duarte 
<[EMAIL PROTECTED]> escreveu
>
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
> bossonaroesao06 escreveu:
> > Olá Reinaldo Carvalho,
> > Obrigado pela atenção.
> > 
> > Realmente eu posso finalizar todos os processos "rec" usando 
killall -
> > 2 rec ou o usando kill, mas mesmo assim eu gostaria de aprender 
como 
> > fazer o script enviar um CRTL+C para o processo REC que está em 
> > segundo plano?
> 
> Você já aprendeu... só falta saber que aprendeu ;)
> 
> O que acontece quando você pressiona simultaneamente as teclas 
CTRl e C?
> Você envia um sinal 2 para o processo que está sendo executado em
> primeiro plano no terminal que recebeu a sequência de teclas. 
Resumindo:
> CTRL+C envia um sinal 2 para o processo.
> 
> Kill -2  faz a mesma coisa sem a dependência de o 
processo
> estar sendo executado em primeiro plano.
> 
> Mais informações em man 7 signal.
> 
> Fabiano Caixeta Duarte
> Consultor em soluções para Redes de Computadores
> Linux User #195299
> Ribeirão Preto - SP
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.4.5 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> 
> iD8DBQFF/Ch6++b4Zs4fOnMRAnjFAJ9emmfmyzsW0diOTDamNsQCfNperwCbBOf3
> nJsiP/cKwWd4moCDBjpsLMc=
> =YsLc
> -END PGP SIGNATURE-
>




[shell-script] Re: Como enviar CRTL+C a um programa que esta rodando em segundo plano?

2007-03-17 Por tôpico bossonaroesao06
Pessoal
Ainda nao consegui finalizar o processo "rec".
Mesmo quando eu inicio o "rec" em segundo plano ele prende o script 
com essa mensagem:

# rec -t wav /root/teste.wav &
# Send break (control-c) to end recording

Eu tentei abrir outro terminal e matar o processo mas ele não 
finaliza não.
Tentei isso e não funcionou:
# killall -2 rec

Tentei tambem fazer um scritp adicional para matar o rec e nadaaa:
#!/bin/bash
pid=$(ps ax | grep "rec -t wav" | awk '{print $1}')
/bin/kill -2  $pid

A unica forma de matar o rec é ir la no shell e dar o CRTL+C que ele 
pede.

Alguem poderia me ajudar?
Obrigado pela atenção e desculpe a insistência




[shell-script] Obter o IP de determinado domínio na internet

2007-11-06 Por tôpico bossonaroesao06
Bom dia...
Preciso saber o IP de determinado domínio e to pensando em usar o 
nslookup pra isso, tratando a resposta com o grep.

Tentei o seguinte:

[EMAIL PROTECTED] ~]# nslookup teste.com | grep "Address"
Address:192.168.0.254#53
Address: 200.200.200.200

O problema é que eu queria como resposta somente o IP da segunda 
linha, no caso 200.200.200.200

Como posso tratar isso pra obter somente o IP desse domínio?

Caso tenha uma forma mais fácil de se fazer isso, será bem vinda.

Obrigado
Adriano



[shell-script] Re: Obter o IP de determinado domínio na internet

2007-11-06 Por tôpico bossonaroesao06
Deu certo.
Obrigado



[shell-script] Re: Redirecionar erro na tela

2007-11-07 Por tôpico bossonaroesao06
Deu certo
Obrigado



[shell-script] Redirecionar erro na tela

2007-11-07 Por tôpico bossonaroesao06
Pessoal,
Estou tentando verificar a existência da conexão ppp0 através do 
ifconfig e até funnciona certinho. O problema é que quando não 
existe a ppp0 ele mostra esse erro no meio do script. Tem como tirar 
isso?

Script:
#!/bin/bash
echo "Verificando a interface ppp0..."
placappp=$(ifconfig ppp0 | grep "ppp0: erro")
if [ -z "$placappp" ]; then
   echo "A Interface ppp0 nao existe..."
else
   echo "A Interface ppp0 existe..."
fi


Olhem o resultado quando nao existe a ppp0:

#Verificando a interface ppp0...
#ppp0: erro obtendo informaçoes da interface: %s: dispositivo nao 
encontrado
#A Interface ppp0 nao existe...


Eu gostaria que ficasse assim:

#Verificando a interface ppp0...
#A Interface ppp0 nao existe...

Alguem me ajuda?
Obrigado



[shell-script] Re: Redirecionar erro na tela

2007-11-07 Por tôpico bossonaroesao06
Ops..
Nao deu nao...
Quando eu redireciono a saida dessa forma, ele nao coloca o valor 
dentro da variavel. Entao sempre que eu for testar a variavel ela vai 
estar vazia ja que a saida do ifconfig foi redirecionada.

Alguem pode ajudar a resolver isso??
Obrigado



[shell-script] Como executar LOGOUT assim que o script fechar?

2007-11-19 Por tôpico bossonaroesao06
Boa tarde...
Pessoal, to com uma dúvida... Eu criei um usuário no linux que serve 
somente para monitorar o squid através do seguinte script:

***
#!/bin/bash
tail -f /var/log/squid/access.log

***

Coloquei isso no .bash_profile então quando esse usuário se loga, o 
script já começa a rodar automaticamente.

Eu gostaria de saber como forçar o usuário a desconectar quando ele 
fechar o script usando CRTL+C.
Ou seja, ele usa CRTL+C para terminar o script e automaticamente 
recebe um LOGOUT impedindo que ele faça qualquer outra coisa no 
sistema além de ver esse monitoramento pelo script.

Tem como fazer isso?
Obrigado



[shell-script] Dúvida na sintaxe do comando IF

2007-11-22 Por tôpico bossonaroesao06
Pessoal, qual a diferença entre:

if [ $Var1 = $Var2 ] then ...
e 
if [ $Var1 = $Var2 ]; then ...

Pra que serve esse ponto e virgula aí?
Obrigado



[shell-script] Alguem conhece a biblioteca CURL ?

2007-11-22 Por tôpico bossonaroesao06
Alguem conhece essa biblioteca?
Sabe como usa?
Obrigado



[shell-script] Como criar janelas e botões usando shell?

2007-11-29 Por tôpico bossonaroesao06
Pessoal,

Eu gostaria de criar janelas e botões no script usando shell-script.

So um detalhe, o linux que eu uso é modo texto. Eu queria criar 
janelas igual a do comando SETUP do FEDORA em modo texto.

Obrigado




[shell-script] erro " too many arguments" ???

2007-11-29 Por tôpico bossonaroesao06
Sou iniciante e, shell e to fazendo um script que verifica se minha 
internet ta pingando e escreve isso em um arquivo de log. 
Aparentemente ta correto mas encontrei o seguinte erro ao executar:

[EMAIL PROTECTED] ~]# ./teste.sh
./teste.sh: line 4: [: too many arguments


Olha o script:
#!/bin/bash
respA=$(ping -c 1 200.204.0.10 | grep "1 received")
dt=$(date)
if [ -z $respA ]
then
  echo "nao esta respondendo em : $dt" >> /root/log.txt
else
  echo "esta respondendo em : $dt" >> /root/log.txt
fi
exit

Por que deu esse erro na linha do IF?
Obrigado



[shell-script] Idiomas diferentes no shell e no crontab?

2007-11-29 Por tôpico bossonaroesao06
Quando eu executo um script "na mão" ele me retorna a data em 
portugues mas se eu colocar ele pra ser executado na crontab ele 
retorna a data em ingles.
Por que ocorre isso se o usuario da crontab é o mesmo do shell que eu 
to executando?

executado crontab: Thu Nov 29 13:37:01 BRST 2007
executado na mão : Qui Nov 29 13:37:48 BRST 2007

Valeu




[shell-script] Re: erro " too many arguments" ???

2007-11-29 Por tôpico bossonaroesao06
Como seria melhor fazer esse teste entao Flavio?
Toda ajuda eh bem vinda!
Obrigado

--- Em shell-script@yahoogrupos.com.br, "Flavio Junior" <[EMAIL PROTECTED]> 
escreveu
>
> Coloque o "$respA" entre aspas..
> 
> Mas há formas melhor de fazer esse teste, usando o return code..
> Veja o $?
> 
> 
> Flavio do Carmo Junior
> 
> On Nov 29, 2007 1:20 PM, bossonaroesao06 <[EMAIL PROTECTED]> 
wrote:
> >
> >
> >
> >
> >
> >
> > Sou iniciante e, shell e to fazendo um script que verifica se 
minha
> >  internet ta pingando e escreve isso em um arquivo de log.
> >  Aparentemente ta correto mas encontrei o seguinte erro ao 
executar:
> >
> >  [EMAIL PROTECTED] ~]# ./teste.sh
> >  ./teste.sh: line 4: [: too many arguments
> >
> >  Olha o script:
> >  #!/bin/bash
> >  respA=$(ping -c 1 200.204.0.10 | grep "1 received")
> >  dt=$(date)
> >  if [ -z $respA ]
> >  then
> >  echo "nao esta respondendo em : $dt" >> /root/log.txt
> >  else
> >  echo "esta respondendo em : $dt" >> /root/log.txt
> >  fi
> >  exit
> >
> >  Por que deu esse erro na linha do IF?
> >  Obrigado
> >
> >
>




[shell-script] Re: erro " too many arguments" ???

2007-11-29 Por tôpico bossonaroesao06
Esse FPING é melhor do que o PING em que sentido?
É mais rapido?


--- Em shell-script@yahoogrupos.com.br, Fábio Gomes <[EMAIL PROTECTED]> 
escreveu
>
> bossonaroesao06 wrote:
> >
> > Sou iniciante e, shell e to fazendo um script que verifica se 
minha
> > internet ta pingando e escreve isso em um arquivo de log.
> > Aparentemente ta correto mas encontrei o seguinte erro ao 
executar:
> >
> > [EMAIL PROTECTED] ~]# ./teste.sh
> > ./teste.sh: line 4: [: too many arguments
> >
> > Olha o script:
> > #!/bin/bash
> > respA=$(ping -c 1 200.204.0.10 | grep "1 received")
> > dt=$(date)
> > if [ -z $respA ]
> > then
> > echo "nao esta respondendo em : $dt" >> /root/log.txt
> > else
> > echo "esta respondendo em : $dt" >> /root/log.txt
> > fi
> > exit
> >
> > Por que deu esse erro na linha do IF?
> > Obrigado
> >
> >  
> 
> Testa o fping ( http://fping.sf.net )
> 
> Veja:
> 
> $fping 200.204.0.10
> 200.204.0.10 is alive
> $fping 200.204.0.333
> 200.204.0.333 address not found
> $fping 200.204.0.1 
> 200.204.0.1 is unreachable
> 
> 
> O ruim do fping é que você não consegue dizer por qual interface o 
ping 
> irá sair, no caso o ping você usa o parâmetro -I.
> 
> 
> Fábio Gomes dos Santos
>




[shell-script] Como saber se a hora atual esta dentro de um intervalo de tempo especifico?

2007-11-29 Por tôpico bossonaroesao06
Tem como eu saber se a hora atual esta ou nao dentro de um intervalo 
de tempo especifico?

Por exemplo:
O script verifica a hora atual e se estiver entre 07:00:00 e 18:00:00 
realiza alguma operacao ( pode ser um echo so pra eu entender).

Se a hora atual for 12:10:10 ele retornaria um SIM!
Se a hora atual for 22:30:20 ele retornaria um NAO!

Valeu





[shell-script] Re: Como saber se a hora atual esta dentro de um intervalo de tempo especifico?

2007-11-29 Por tôpico bossonaroesao06
Obrigado pela dica Júlio.
Abraço
ADRIANO (o carars!!!)

--- Em shell-script@yahoogrupos.com.br, "Julio C. Neves" 
<[EMAIL PROTECTED]> escreveu
>
> Fala cara (bem que vc podia assinar as msgs para não ser chamado 
de cara,
> não é o cara?) ;)
> olha só, pela qtd de perguntas que vc tem feito à lista, vejo que 
vc está
> interessado em aprender shell. Assim sendo, neste
> 
link<http://twiki.softwarelivre.org/bin/view/TWikiBar/TWikiBarPapo004
#E_tome_de_test>e
> 
neste<https://twiki.softwarelivre.org/bin/view/TWikiBar/TWikiBarBirin
aite#Testes_usando_express%25F5es_regular>,
> tem exemplos bem parecidos com o que vc deseja, usando construções 
do
> tipo[[ ... ]] com
> caracteres coringa e com expressões regulares.
> 
> De quebra, se vc quiser estudar todo o material, com certeza o seu 
nível de
> shell irá aumentar significativamente. Esta lista está cheia de 
colegas que
> aprenderam shell por lá.
> -- 
> Abraços,
> Julio
> Curso de Shell em Brasília a partir de 08/12
> http://www.trainingtecnologia.com.br/novo_site/shell.htm
> Telefone: (61) 3352-7785
> :wq
> 
> Em 29/11/07, bossonaroesao06 <[EMAIL PROTECTED]> escreveu:
> >
> >   Tem como eu saber se a hora atual esta ou nao dentro de um 
intervalo
> > de tempo especifico?
> >
> > Por exemplo:
> > O script verifica a hora atual e se estiver entre 07:00:00 e 
18:00:00
> > realiza alguma operacao ( pode ser um echo so pra eu entender).
> >
> > Se a hora atual for 12:10:10 ele retornaria um SIM!
> > Se a hora atual for 22:30:20 ele retornaria um NAO!
> >
> > Valeu
> >
> >  
> >
> 
> 
> 
> -- 
> Abraços,
> Julio
> Curso de Shell em Brasília a partir de 08/12
> http://www.trainingtecnologia.com.br/novo_site/shell.htm
> Telefone: (61) 3352-7785
> :wq
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




[shell-script] Como fazer um script rodar antes de desligar?

2008-01-09 Por tôpico bossonaroesao06
Pessoal, gostaria de executar um script imediatamente antes que o 
computador desligue.
Como faço isso?
Obrigado 



[shell-script] Probleminha com o comando LESS

2008-01-31 Por tôpico bossonaroesao06
Bom dia...
Estou tentando fazer um pequeno script para pesquisar os acessos dos 
usuários no log do squid, mas nao consigo fazer paginação usando o 
comando LESS.
O script funciona do jeito que eu quero, so falta mesmo a paginação 
com esse comando LESS.
Alguem poderia me dizer o que tem de errado por favor?
Será que usei muito pipe (|)? 
O LESS esta no lugar correto?

Olhem o script:

***
#!/bin/bash
echo "Digite o nome para pesquisa: "
read usuario
cat /var/log/squid/access.log | grep $usuario | less | awk '{
   ip=$3;
   data=$1;
   http=$7;
   printf "\033[40;36;1m%s\033[m \033[40;33;1m%s\033[m \033[40;37;1m%
s\033[40;32;1m%s\033[m\n", ip, data, http}
}'
***

Alguma sugestão?

Obrigado pela atenção

Adriano



[shell-script] Re: Probleminha com o comando LESS

2008-01-31 Por tôpico bossonaroesao06
Se eu colocar no final, ele funciona a paginacao mas as informacoes 
coloridas feitas pelo AWK nao funcionam.



[shell-script] Re: Probleminha com o comando LESS

2008-01-31 Por tôpico bossonaroesao06
ops...
o script correto é esse:
*
#!/bin/bash
echo "Digite o nome para pesquisa: "
read usuario
cat /sata/log/squid/access.log | grep $usuario | awk '{
   ip=$3;
   data=$1;
   http=$7;
   printf "\033[40;36;1m%s\033[m \033[40;33;1m%s\033[m \033[40;37;1m%
s\033[m\n", ip, data, http
}'

*



[shell-script] Re: Probleminha com o comando LESS

2008-01-31 Por tôpico bossonaroesao06
Deu certo usando a opcao -r do less.
Muito obrigado.