cat input.txt | awk -F\| '{print $4 $5 $6}' >> output.txt
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
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.
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.