Em Wednesday 30 April 2008 11:15:13 Tiago Barcellos Peczenyj escreveu: Valeu Tiago,
Eu tinha feito uma busca no sed1liners, mas passou desabercebido. Obrigado Salviano > Salviano, veja esta dica [ http://aurelio.net/sed/1liners-ptBR.txt ] > > # une pares de linhas lado a lado (como o "paste") > sed 'N;s/\n/ /' > > Exemplo > > $ sed 'N;s/\n/ /' arquivo > -1.0000 3.914026 0.0000 7.471841 > -0.9000 3.285307 0.0000 8.272979 > -0.8000 2.110399 0.0000 9.964568 > -0.7000 0.922031 0.0000 12.012098 > -0.6000 -0.153824 4.0433 14.285975 > > 2008/4/30 Salviano de Araujo Leão <[EMAIL PROTECTED]>: > > Ao rodar um programa com saída não formatada ele > > gerou um arquivo de dados que deveria ter quatro > > colunas, entretanto ele foi gerado da seguinte forma: > > > > -1.0000 3.914026 0.0000 > > 7.471841 > > -0.9000 3.285307 0.0000 > > 8.272979 > > -0.8000 2.110399 0.0000 > > 9.964568 > > -0.7000 0.922031 0.0000 > > 12.012098 > > -0.6000 -0.153824 4.0433 > > 14.285975 > > > > Este arquivo deveria ter a seguinte forma: > > -1.0000 3.914026 0.0000 7.471841 > > -0.9000 3.285307 0.0000 8.272979 > > -0.8000 2.110399 0.0000 9.964568 > > -0.7000 0.922031 0.0000 12.012098 > > -0.6000 -0.153824 4.0433 14.285975 > > > > Bom meus conhecimentos de sed são bem limitados, > > mas resolvi o problema com o seguinte script: > > > > #!/bin/sh > > arq="$1".dat > > cat $arq | sed -n "1~2p" > /tmp/impar_$$ > > cat $arq | sed -n "2~2p" > /tmp/par_$$ > > mv $arq ${arq}.old > > paste /tmp/impar_$$ /tmp/par_$$ > ${arq} > > rm -f /tmp/impar_$$ /tmp/par_$$ > > > > Entretanto acho que seria possível fazer o mesmo > > somente com o sed em uma linha. Se alguém > > conhecer uma solução eu agradeço. > > > > Obreigado > > > > Salviano
