Ajuda com awk
Bom dia a todos. Preciso de uma ajudinha rapida. Tenho como usar o awk para alem de mostrar uma coluna, também mostrar apenas uma linha dos resultados? Segue exemplo: # ps -ef |grep processo-x |awk '{print $1}' Porém o processo-x possui 4 instancias, entao a saida é: # ps -ef |grep processo-x |awk '{print $1}' user1 user1 user1 user1 # Mas como preciso usar a saida desse comando para criar uma variavel que posteriormente será usada numa condição de teste, eu precisaria de um valor só. Da forma acima a variavel fica: echo $variavel user1 user1 user1 user1 Em resumo, preciso de um paramentro do awk para que alem da coluna 1, ele também só mostre a primeira linha. Alguem pode me ajudar?
Re: Ajuda com awk
ps -ef |grep processo-x |awk '{print $1}' | head -1 Em 18 de abril de 2011 10:18, Jackson Rodrigo Braga jackso...@gmail.comescreveu: Bom dia a todos. Preciso de uma ajudinha rapida. Tenho como usar o awk para alem de mostrar uma coluna, também mostrar apenas uma linha dos resultados? Segue exemplo: # ps -ef |grep processo-x |awk '{print $1}' Porém o processo-x possui 4 instancias, entao a saida é: # ps -ef |grep processo-x |awk '{print $1}' user1 user1 user1 user1 # Mas como preciso usar a saida desse comando para criar uma variavel que posteriormente será usada numa condição de teste, eu precisaria de um valor só. Da forma acima a variavel fica: echo $variavel user1 user1 user1 user1 Em resumo, preciso de um paramentro do awk para que alem da coluna 1, ele também só mostre a primeira linha. Alguem pode me ajudar?
Re: Ajuda com awk
Você pode fazer assim: # variavel=`ps -ef |grep processo-x |awk '{print $1}'| xargs` Com o xargs você pode pegar valores do stdin e passá-los como argumento para outros programas, sem nenhum argumento ele faz exatamente o que você quer, mas basicamente você consegue fazer muita coisa utilizando esta combinação, para arumentos posicionais você pode utilizar, por exemplo: xargs -I{} echo {}, significa que para cada valor ele irá executar um echo com aquele valor como argumento, não utilizando esta opção ele irá passar tudo como argumento, como o exemplo acima. A[]'s --- Em seg, 18/4/11, Jackson Rodrigo Braga jackso...@gmail.com escreveu: De: Jackson Rodrigo Braga jackso...@gmail.com Assunto: Ajuda com awk Para: Debian List debian-user-portuguese@lists.debian.org Data: Segunda-feira, 18 de Abril de 2011, 10:18 Bom dia a todos. Preciso de uma ajudinha rapida. Tenho como usar o awk para alem de mostrar uma coluna, também mostrar apenas uma linha dos resultados? Segue exemplo: # ps -ef |grep processo-x |awk '{print $1}' Porém o processo-x possui 4 instancias, entao a saida é: # ps -ef |grep processo-x |awk '{print $1}' user1 user1 user1 user1 # Mas como preciso usar a saida desse comando para criar uma variavel que posteriormente será usada numa condição de teste, eu precisaria de um valor só. Da forma acima a variavel fica: echo $variavel user1 user1 user1 user1 Em resumo, preciso de um paramentro do awk para que alem da coluna 1, ele também só mostre a primeira linha. Alguem pode me ajudar?
Re: Ajuda com awk
Obrigado Marcello, funcionou direitinho. Obrigado também Allison, to usando um HP-UX e o xargs sem argumento nao gerou saida. De qualquer forma obrigado, vou estudar melhor esse comando, me pareceu muito util. Bom dia pra todos. Em 18 de abril de 2011 10:23, Marcello Di Marino Azevedo marcello_dimar...@superig.com.br escreveu: ps -ef |grep processo-x |awk '{print $1}' | head -1 Em 18 de abril de 2011 10:18, Jackson Rodrigo Braga jackso...@gmail.comescreveu: Bom dia a todos. Preciso de uma ajudinha rapida. Tenho como usar o awk para alem de mostrar uma coluna, também mostrar apenas uma linha dos resultados? Segue exemplo: # ps -ef |grep processo-x |awk '{print $1}' Porém o processo-x possui 4 instancias, entao a saida é: # ps -ef |grep processo-x |awk '{print $1}' user1 user1 user1 user1 # Mas como preciso usar a saida desse comando para criar uma variavel que posteriormente será usada numa condição de teste, eu precisaria de um valor só. Da forma acima a variavel fica: echo $variavel user1 user1 user1 user1 Em resumo, preciso de um paramentro do awk para que alem da coluna 1, ele também só mostre a primeira linha. Alguem pode me ajudar?
Re: Ajuda com awk
Você também pode usar o uniq: ps -ef | grep processo | awk '{print $1}' | uniq Dessa forma, mesmo se o processo aparecer várias vezes, ele só será mostrado 1 vez. On Mon, 18 Apr 2011 10:34:35 -0300 Jackson Rodrigo Braga jackso...@gmail.com wrote: Obrigado Marcello, funcionou direitinho. Obrigado também Allison, to usando um HP-UX e o xargs sem argumento nao gerou saida. De qualquer forma obrigado, vou estudar melhor esse comando, me pareceu muito util. Bom dia pra todos. Em 18 de abril de 2011 10:23, Marcello Di Marino Azevedo marcello_dimar...@superig.com.br escreveu: ps -ef |grep processo-x |awk '{print $1}' | head -1 Em 18 de abril de 2011 10:18, Jackson Rodrigo Braga jackso...@gmail.comescreveu: Bom dia a todos. Preciso de uma ajudinha rapida. Tenho como usar o awk para alem de mostrar uma coluna, também mostrar apenas uma linha dos resultados? Segue exemplo: # ps -ef |grep processo-x |awk '{print $1}' Porém o processo-x possui 4 instancias, entao a saida é: # ps -ef |grep processo-x |awk '{print $1}' user1 user1 user1 user1 # Mas como preciso usar a saida desse comando para criar uma variavel que posteriormente será usada numa condição de teste, eu precisaria de um valor só. Da forma acima a variavel fica: echo $variavel user1 user1 user1 user1 Em resumo, preciso de um paramentro do awk para que alem da coluna 1, ele também só mostre a primeira linha. Alguem pode me ajudar? -- André Luiz Fraga Moreira andre4deb...@gmail.com Matriculado no curso de Tecnologia em Redes de Computadores Linux Professional Institute Certified - LPIC 1 Debian user - www.debian.org twitter e identi.ca: @andreluizfm linkedin: http://www.linkedin.com/pub/andre-luiz-fraga-moreira/11/3b8/b00 pgpbFuFI4o1sM.pgp Description: PGP signature
Ajuda com awk
Olá a todos! Tenho um arquivo texto com dados no formato username:senha. Estou tentando criar um script para ler cada registro, atribuir username a uma variavel, senha a outra e listar tudo no formato: Usuario: username Senha: senha Estou apanhando com awk, pois não consigo atribuir o segundo campo, ou seja, a senha, a uma variavel dentro de um loop foreach. Alguém já fez algo parecido? Agradeço qualquer ajuda. Abraços, João Henrique PS: desculpem se a pergunta for muito básica...
Re: Ajuda com awk
Oi Nao conheco muito awk, mas poderias fazer algo assim em perl: #!/usr/bin/perl while() { chomp; $nome=$_; $senha=$_; $nome=~s/^(.*):.*$/\1/; $senha=~s/^.*:(.*)$/\1/; print Nome: $nome\n; print Senha: $senha\n; } basta colocar este codigo em um arquivo e passar o arquivo de dados na entrada padrao: script.pl arq.dat Espero que ajude. []s Rodrigo Prof. João Henrique writes: Olá a todos! Tenho um arquivo texto com dados no formato username:senha. Estou tentando criar um script para ler cada registro, atribuir username a uma variavel, senha a outra e listar tudo no formato: Usuario: username Senha: senha Estou apanhando com awk, pois não consigo atribuir o segundo campo, ou seja, a senha, a uma variavel dentro de um loop foreach. Alguém já fez algo parecido? Agradeço qualquer ajuda. Abraços, João Henrique PS: desculpem se a pergunta for muito básica... -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Ajuda com awk
Eu também acho perl melhor para essas coisas, entao aí vai, primeiro awk: Uso: nome-do-script.sh arquivo-com-as-senhas #!/bin/ksh awk -F: '{print $1, $2}' $* |\ while read usuario senha do print $usuario print $senha done Em um perl mais compacto: Uso: nome-do-script.pl arquivo-com-as-senhas #!/usr/local/bin/perl while () { ($usuario,$senha)=split(/:/, $_); print $usuario, $senha\n; } Boa sorte! --- Rodrigo Real [EMAIL PROTECTED] escreveu: Oi Nao conheco muito awk, mas poderias fazer algo assim em perl: #!/usr/bin/perl while() { chomp; $nome=$_; $senha=$_; $nome=~s/^(.*):.*$/\1/; $senha=~s/^.*:(.*)$/\1/; print Nome: $nome\n; print Senha: $senha\n; } basta colocar este codigo em um arquivo e passar o arquivo de dados na entrada padrao: script.pl arq.dat Espero que ajude. []s Rodrigo Prof. João Henrique writes: Olá a todos! Tenho um arquivo texto com dados no formato username:senha. Estou tentando criar um script para ler cada registro, atribuir username a uma variavel, senha a outra e listar tudo no formato: Usuario: username Senha: senha Estou apanhando com awk, pois não consigo atribuir o segundo campo, ou seja, a senha, a uma variavel dentro de um loop foreach. Alguém já fez algo parecido? Agradeço qualquer ajuda. Abraços, João Henrique PS: desculpem se a pergunta for muito básica... -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED] ___ Busca Yahoo! O serviço de busca mais completo da Internet. O que você pensar o Yahoo! encontra. http://br.busca.yahoo.com/
Re: Ajuda com awk
Está nos registros oficiais que em 23 Jan 2003 13:13:46 -0200 Prof. José Henrique [EMAIL PROTECTED] manifestou-se nestas palavras: Olá a todos! Tenho um arquivo texto com dados no formato username:senha. Estou tentando criar um script para ler cada registro, atribuir username a uma variavel, senha a outra e listar tudo no formato: Usuario: username Senha: senha Estou apanhando com awk, pois não consigo atribuir o segundo campo, ou Salve, conterrâneo :-D Isso deve resolver: awk -F: '{print Usuário: $1; print Senha: $2}' arquivo.txt PS: desculpem se a pergunta for muito básica... Nada, só foge um pouquinho do escopo da lista, apesar da prontidão do pessoal aqui pra responder. Recomendaria a seguinte lista pra questões de shell-script e ferramentas relacionadas: http://br.groups.yahoo.com/group/shell-script/ Abraços, Luis Alberto. -- Luis Alberto Garcia Cipriano - [EMAIL PROTECTED] ICQ#30169722 - lagc no canal #debian-br em irc.debian.org Sítio e blogue - http://www.sovacodecobra.com.br/luisalberto/ Músico amador Tradutor solidário Jornalista voluntário Programador pós-moderno CIPSGA - Software Livre no Brasil - http://www.cipsga.org.br Projeto Debian-BR - http://www.debian-br.org