Dividir e imprimir

1

Eu tenho um arquivo de texto demimido de tabulação com 50.000 linhas. Eu quero dividir a primeira coluna e imprimir como mostrado em output.txt

Input.txt

rt|371443144|mb|MN556661.1|  2200443     A
rt|371443344|mb|MN556645.1|  2594155     A
rt|371467899|mb|MN555666.1|  2594175     A

output.txt

MN556661.1   2200443     A
MN556645.1   2594155     A
MN555666.1   2594175     A
    
por jack 02.11.2012 / 19:51

3 respostas

2
cat input.txt | awk -F\| '{print $4      $5    $6}' >> output.txt
    
por 02.11.2012 / 20:10
3

Uma alternativa com cut seria:

cut input.txt -d'|' -f4-5 --output-delimiter='' >> output.txt

A propósito, você mencionou na questão que é delimitado por tabulação, mas eu peguei o | aqui como delimitador.

    
por 02.11.2012 / 20:27
2

Você pode fazer assim com o GNU sed:

sed -r 's/([^|]+\|){3}//; s/\|//'

i.e. delete três grupos precedidos por pipes, o segundo comando substituto remove o pipe após o quarto campo.

    
por 04.11.2012 / 00:52

Tags