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 <[email protected]> escreveu:
De: Jackson Rodrigo Braga <[email protected]>
Assunto: Ajuda com awk
Para: "Debian List" <[email protected]>
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?