Konvertieren Sie eine durch Tabulatoren getrennte Datei in Zeilenumbrüche


10

input.txt (ca. 30K Zeilen)

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

Antworten:


7

Sed::

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

Awk::

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

23

Ich denke, Ihr einfachster Weg, dies zu tun, ist mit tr:

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

Dadurch werden alle Registerkarten zu Zeilenumbrüchen.

tr - Man Page


1
Am einfachsten und schnellsten auch.
JRFerguson

1
Sie hätten diese Antwort erhalten sollen, da dies trdie beste Lösung war. Beide sedund awk, obwohl großartige Werkzeuge, sind übertrieben.
JM Becker

0

Mit printf:

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

Ich frage mich, warum dies abgelehnt wurde.
Gilles Quenot

Möglicherweise, weil dies auf Leerzeichen und nicht nur auf Tabulatoren aufgeteilt wird.
Jordan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.