Konversi file yang dibatasi-tab untuk menggunakan baris baru

10

input.txt (sekitar 30K baris)

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
mendongkrak
sumber

Jawaban:

7

Sed:

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

Awk:

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

Saya pikir cara termudah Anda untuk melakukan ini adalah dengan tr:

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

Itu akan mengubah semua tab menjadi baris baru.

tr - Man Page

derobert
sumber
1
Termudah dan tercepat juga.
JRFerguson
1
Anda seharusnya mendapatkan jawaban ini, seperti trsolusi terbaik. Keduanya sed, dan awk, meskipun alat yang hebat, berlebihan.
JM Becker
0

Dengan printf:

printf '%s\n' $(<FILE)
Gilles Quenot
sumber
Saya ingin tahu mengapa ini dipilih.
Gilles Quenot
Mungkin karena ini akan terpecah pada spasi bukan hanya tab.
jordanm