[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
sed
From: |
Eric Anderson |
Subject: |
sed |
Date: |
Fri, 17 Dec 2004 11:31:47 -0000 |
tenho um arkivo:
a b a
se eu mando um
sed -e "s/a/y/" arkivo.txt
ele soh substitui o primeiro a da linha.
tem como trocar os dois "a"´s?
sds
Eric Anderson
CPD Via Net SAO
11-66432800
----- Original Message -----
From: MrBiTs
To: address@hidden
Sent: Friday, December 17, 2004 8:06 AM
Subject: 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
---------------------------------------------------------------------
Yahoo! Grupos, um serviço oferecido por:
------------------------------------------------------------------------------
Links do Yahoo! Grupos
a.. Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
b.. Para sair deste grupo, envie um e-mail para:
address@hidden
c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço
do Yahoo!.
[As partes desta mensagem que não continham texto foram removidas]