Ajuda com awk

2011-04-18 Por tôpico Jackson Rodrigo Braga
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

2011-04-18 Por tôpico Marcello Di Marino Azevedo
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

2011-04-18 Por tôpico Allison Vollmann
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

2011-04-18 Por tôpico Jackson Rodrigo Braga
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

2011-04-18 Por tôpico André Luiz Fraga Moreira
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

2003-01-23 Por tôpico Prof.
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

2003-01-23 Por tôpico Rodrigo Real

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

2003-01-23 Por tôpico Mateus Espadoto
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

2003-01-23 Por tôpico Luis Alberto Garcia Cipriano
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