adicionar tabulação no arquivo com sed

1. adicionar tabulação no arquivo com sed

André Zardo
Andre-caveira

(usa Outra)

Enviado em 28/02/2014 - 20:37h

boa noite pessoal

segue o trecho do arquivo original

0.000001 -0.000003 -1.202443
9.999999 -0.000003 -1.177261
19.999999 -0.000003 -1.167405


os numeros da linha já coloquei.
e tenho que deixar o arquivo na seguinte sintaxe

1 <tabulação> <coordenada X> <espaço> <tabulação> <coordenada Y> <espaço> <tabulação><coordenada Z>
2 <tabulação> <coordenada X> <espaço> <tabulação> <coordenada Y> <espaço> <tabulação> <coordenada Z>


ou seja, trocar o <espaço> por <espaço>+<tabulação> entre as coordenadas

pelo manual do SED
http://sed.sourceforge.net/sed1line_pt-BR.html
# substituir (achar e trocar) "foo" por "bar" em cada linha
sed 's/foo/bar/g' # troca TODAS as instâncias de uma linha


tentei com o seguinte comando
sed = arquivo.xyz | sed 's/ / \t/g' > arquivo-novo.xyz  


ela fica assim.
1
1 0.000001 -0.000003 -1.202443
2
2 9.999999 -0.000003 -1.177261


apareceu duplicado com as linhas numeradas.
se eu usar o arquivo original, (sem a numeração das linhas), fica da seguinte forma

1
0.000001 -0.000003 -1.202443
2
9.999999 -0.000003 -1.177261


não estou conseguindo achar o erro


  


2. Re: adicionar tabulação no arquivo com sed

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/02/2014 - 21:17h

Veja o exemplo:

trinity@debian:~/C$ cat teste
aaa bbb ccc
ddd eee fff
trinity@debian:~/C$

Agora veja a saída do comando sed

trinity@debian:~/C$ cat teste|sed 's/ /\t/g'
aaa bbb ccc
ddd eee fff
trinity@debian:~/C$

Onde está duplicando? Onde está o erro?
Não tem, você deve está fazendo algo a mais ae...


3. Re: adicionar tabulação no arquivo com sed

Andr&amp;eacute; Zardo
andre-caveira

(usa Outra)

Enviado em 01/03/2014 - 08:49h

engraçado...

assim funcionou

tive que tirar o "sed =" <comandos> ....., aí q estava deixando um espaço entre as linhas
ficando
sed 's/ / \t/g' teste-arquivo-v06.xyz > teste-arquivo-v06C.xyz 

que funcionou...

já para adicionar a numeração das linhas tenho q usar "sed =" comandos....
ficando
sed = teste-arquivo-v06.xyz | sed 'N;s/\n/\t/' > teste-arquivo-v06S.xyz 



obrigado







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts