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.