[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] Quebrar linha a cada X espaços...
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] Quebrar linha a cada X espaços... |
Date: |
Fri, 17 Dec 2004 09:59:32 -0300 |
Aê pessoal, creio que as melhores soluções para este problema sejam:
Prompt> cat arq | xargs -n6
palavra1 palavra2 palavra3 palavra4 palavra5 palavra6
palavra7 palavra8 palavra9 palavra10 palavra11 palavra12
ou:
Prompt> cat arq | tr ' ' '\n' | paste - - - - - -
palavra1 palavra2 palavra3 palavra4 palavra5
palavra6
palavra7 palavra8 palavra9 palavra10 palavra11
palavra12
O separador default do paste é o <TAB> se quiser alterá-lo use a opção -d:
Prompt> cat arq | tr ' ' '\n' | paste -d " " - - - - - -
palavra1 palavra2 palavra3 palavra4 palavra5 palavra6
palavra7 palavra8 palavra9 palavra10 palavra11 palavra12
Julio Cezar Neves
- Gerente do Programa de Software Livre -
Tel:+55 21 2528-7070 / +55 21 8112-9988
Fax: +55 21 2528-7646
mailto:address@hidden
| -----Mensagem original-----
| De: MrBiTs [mailto:address@hidden]
| Enviada em: sexta-feira, 17 de dezembro de 2004 09:07
| Para: address@hidden
| Assunto: RE: [shell-script] Quebrar linha a cada X espaços...
|
|
|
| <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
|
|
|
| ---------------------------------------------------------------------
| Esta lista não admite a abordagem de outras liguagens de
| programação, como perl, C etc. Quem insistir em não seguir
| esta regra será moderado sem prévio aviso.
| ---------------------------------------------------------------------
| Sair da lista: address@hidden
| ---------------------------------------------------------------------
| Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: [shell-script] Quebrar linha a cada X espaços...,
Julio Cezar Neves - DATAPREVRJ <=