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.