shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Quebrar linha a cada X espaços...


From: Gentil de Bortoli Júnior
Subject: Re: [shell-script] Quebrar linha a cada X espaços...
Date: Fri, 17 Dec 2004 09:33:44 -0200
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)

Apenas complementando a mensagem do colega MrBits e aproveitando mais um exemplo dado pelo Julio.

Vamos gerar o arquivo:
$ for i in `seq 1 20`; do echo -n "palavra${i} "; done > Palavras.txt

Isso vai gerar um arquivo no formato descrito por você.

Agora, vamos brincar assim:

$ palavras=`cat Palavras.txt`

Ou seja, o conteúdo de "Palavras.txt" está agora na variável "palavras".

E o grande final... :P

$ echo -e ${palavras// /\\n} | paste - - - - - -

ou${palavras// /\\n}

$ echo -e ${palavras// /\\n} | paste -d " " - - - - - -

Bom, como o paste na forma descrita vai funcionar apenas se o arquivo tiver uma linha abaixo da outra, o comando ${palavras// /\\n} diz para trocar todos os espaços por um "\n", e a opção -e do echo se encarrega de interpretar essa opção e colocar uma palavra por linha.

[]s

Gentil.


MrBiTs wrote:
INICIO
uma vírgula após o terceiro campo (é isso que vc queria, né?).
Prompt> cat arq
a       b       c       d
e       f       g       h
i       j       k       l
Prompt> awk '{ sub (/$/, ",", $3); print $0 }' arq
a b c, d
e f g, h
i j k, l
FINAL


reply via email to

[Prev in Thread] Current Thread [Next in Thread]