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
jack
la source

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
Birei
la source
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

derobert
la source
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)
Gilles Quenot
la source
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