Como pegar apenas parte de uma linha?

1. Como pegar apenas parte de uma linha?

Francis W.
.frank.

(usa Ubuntu)

Enviado em 03/05/2008 - 21:08h

Daew pessoal!

Estou com uma duvida e talvez voces possam me ajudar.

Eu to querendo fazer uma simples(simples pros otros) CHECKLIST usando ZENITY, porem tenho o seguinte conteudo como saida:

valor1:valor2:valor3

gostaria de filtrar e executar um comando para cada valor, ou jogar cada valor em uma variavel.

se alguem souber como,eu agradeço. Ja catei em tudo que é canto sobre checklist e nao achei nada.


  


2. Re: Como pegar apenas parte de uma linha?

Francis W.
.frank.

(usa Ubuntu)

Enviado em 03/05/2008 - 21:41h

Pois é, é sempre assim. Depois que peço ajuda eu consigo...

Bom, para filtrar a saida do comando, o primeiro passo foi jogar o comando todo numa variavel:

chk=`coloque o comando aqui entre crases`

depois outra variavel para armazenar o campo desejado, neste caso v1:

v1=`echo $chk | awk -F: '{print $1}'`

explicando:

echo $chk #escreve a variavel na tela

| #redireciona a saida de um comando para a entrada de outro, nesse caso o awk.

awk -F: '{print $1}' #comando awk, usando : como delimitador "-F:" e filtrando apenas o primeiro campo '{print $1}'.


qualquer duvida é só postar ai, valeu!


3. Re: Como pegar apenas parte de uma linha?

Denis Doria
thuck

(usa Debian)

Enviado em 03/05/2008 - 23:32h

Não use o 'awk'; ele deve ser usado para manipular coisas bem mais complexas do que apenas pegar um campo. Se for algo tão simples quanto parece que é use o 'cut', no seu caso var1=$(echo $tudo|cut -d: -f1).


4. Re: Como pegar apenas parte de uma linha?

Francis W.
.frank.

(usa Ubuntu)

Enviado em 04/05/2008 - 00:24h

Boa noite,

Bom, eu usei o awk, pois o cut nao estava funcionando com a sintaxe que eu usava. Porem testei agora e funcionou tambem.

Obrigado thuck, é que eu nao tinha chegado na parte de otimização ainda, eu tava soh testanto. Sabe né, se funciono, fico bom.


5. Re: Como pegar apenas parte de uma linha?

Denis Doria
thuck

(usa Debian)

Enviado em 04/05/2008 - 14:15h

Entendo cara... Eu também faço isso hehehe É que o awk é muito pesado, tem 120k mais ou menos e o cut tem 20k mais ou menos; embora eu tenha feito alguns testes e por incrível que pareça o awk foi bem mais rápido que o cut, ainda estou fazendo mais testes.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts