Convertir un fichier délimité par des tabulations pour utiliser des retours à la ligne


10

input.txt (environ 30K lignes)

RT|367079254|bn|ERTS01065811.1| 38 1 503
RT|367079251|bn|ERTS01065814.1| 56 3 502
RT|367079248|bn|ERTS01065817.1| 52 2 502

output.txt

RT|367079254|bn|ERTS01065811.1|
38
1
503
RT|367079251|bn|ERTS01065814.1|
56
3
502
RT|367079248|bn|ERTS01065817.1|
52
2
502

Réponses:


7

Sed:

sed -e 'y/\t/\n/' input.txt > output.txt

Awk:

awk 'BEGIN { OFS = "\n" } { $1=$1; print }' input.txt > output.txt

23

Je pense que votre façon la plus simple de le faire est de tr:

tr '\t' '\n' < input.txt > output.txt

Cela transformera tous les onglets en nouvelles lignes.

tr - Page de manuel


1
Le plus simple et le plus rapide aussi.
JRFerguson

1
Vous auriez dû recevoir cette réponse, tout comme trla meilleure solution. Les deux sedet awk, bien que d'excellents outils, sont exagérés.
JM Becker

0

Avec printf:

printf '%s\n' $(<FILE)

Je me demande pourquoi cela a été rejeté.
Gilles Quenot

Peut-être parce que cela se divisera sur les espaces et pas seulement sur les tabulations.
jordanm
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.