[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [shell-script] Quebrar linha a cada X espaços...
From: |
MrBiTs |
Subject: |
RE: [shell-script] Quebrar linha a cada X espaços... |
Date: |
Fri, 17 Dec 2004 09:06:35 -0200 |
<QUOTE>
Tenho um arquivo.txt com N palavras, separadas por espaço, em uma linha
continua e longa. Como posso estar fazendo um script que realize uma quebra
de linha ou simule um <enter> a cada 6 espaços ou a cada 6 palavras e
continue assim até o final da linha?
Exemplo:
palavra1 palavra2 palavra3 palavra4 palavra5 palavra6 palavra7...
palavraN
executando o script ficaria assim
palavra1 palavra2 palavra3 palavra4 palavra5 palavra6
palavra7 palavra8 palavra9... palavraN
</QUOTE>
Voce nao tem muito o habito de ler as mensagens passadas da lista, nao é ?
A coisa de um mes atras, o Julio respondeu a uma duvida bem parecida. Vou
colar a mensagem dele aqui:
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
Acredito que voce possa utilizar a mesma logica para o seu problema. Basta
fazer as substituicoes necessarias, como por exemplo "," por "\n", e $3 por
$6.
Fiz assim aqui:
[dfernandes@rimmon dfernandes]$ cat arq
palavra1 palavra2 palavra3 palavra4 palavra5 palavra6 palavra7 palavra8
palavra9 palavra10 palavra11 palavra12
[dfernandes@rimmon dfernandes]$ awk '{sub(/$/, "\n", $6) ; print $0}' arq
palavra1 palavra2 palavra3 palavra4 palavra5 palavra6
palavra7 palavra8 palavra9 palavra10 palavra11 palavra12
Faca as adaptacoes necessarias e vc chega la.
[]'s