[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Unindo todas as linhas numa só
From: |
Bruno Coimbra |
Subject: |
Re: [shell-script] Unindo todas as linhas numa só |
Date: |
Mon, 4 May 2009 14:47:15 -0300 |
User-agent: |
KMail/1.9.10 |
On Monday 04 May 2009 13:55:12 Breno Moiana wrote:
<corte>
> Esse era meu comando:
> geralista.sh | awk '/minhabusca/ {print $3}'
>
> 1. Fazendo assim, funciona (nao entendi exatamente por que o echo está
> comendo os newlines - alguem pode esclarecer?):
> echo $(geralista.sh | awk '/minhabusca/ {print $3}')
</corte>
Provavelmente por causa da variável de ambiente IFS, tente com aspas duplas
como abaixo que deve funcionar:
$ echo "$(geralista.sh | awk '/minhabusca/ {print $3}')"
<corte>
> 3. Assim NAO FUNCIONA no HP-UX:
> geralista.sh | awk '/minhabusca/ {print $3}' | paste -sd\;
>
> o 'paste -s' nao pega no pipe aqui nem com reza braba, mas se eu botar
> o output num arquivo, funciona:
>
> $ paste -s -d\; lista
> um;dois;tres;quatro
>
> $ cat lista | paste -s -d\;
> paste: Usage: paste [-s] [-d List ] File1 ...
</corte>
Pela saída do último exemplo, essa versão do paste, aparentemente, exige um
arquivo como argumento, então acho que é só avisar que o arquivo de entrada é
a entrada padrão (o '-' indica isso):
$ cat lista | paste -s -d\; -
Att,
--
Bruno Coimbra aka sceadugenga
address@hidden
Existem 11 tipos de pessoas no mundo:
As que entendem binário,
as que acham que entendem
e as que não entendem.
[As partes desta mensagem que não continham texto foram removidas]