Chuyển đổi tệp được phân định bằng tab để sử dụng dòng mới


10

input.txt (khoảng 30K dòng)

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

Câu trả lời:


7

Sed:

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

Awk:

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

23

Tôi nghĩ rằng cách dễ nhất của bạn để làm điều này là với tr:

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

Điều đó sẽ biến tất cả các tab thành dòng mới.

tr - Trang nam


1
Dễ nhất và nhanh nhất, quá.
JRFerguson

1
Bạn nên được trao câu trả lời này, như trlà giải pháp tốt nhất. Cả hai sed, và awk, trong khi các công cụ tuyệt vời, là quá mức cần thiết.
JM Becker

0

Với printf:

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

Tôi tự hỏi tại sao điều này đã được bỏ phiếu.
Gilles Quenot

Có thể bởi vì điều này sẽ phân chia trên không gian không chỉ các tab.
jordanm
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.