Thu gọn một luồng nhiều dòng thành một dòng


7

Tôi có một tệp chứa một số lượng lớn các dòng, mỗi dòng chứa một bó các số được phân tách bằng dấu cách. Tôi xử lý dữ liệu này theo một đường ống theo một cách nào đó, và sau đó tôi muốn thu gọn nhiều dòng thành một dòng gồm tất cả các số được phân tách bằng dấu cách.

Có tiện ích dòng lệnh tiêu chuẩn nào tôi có thể sử dụng để làm việc này không? Có vẻ như hầu hết các tiện ích từng dòng sẽ không gặp rắc rối với các dòng mới ...

Câu trả lời:


13

Đó là lý do tại sao bạn không sử dụng các tiện ích từng dòng cho việc này.

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

3

Ngay cả các tiện ích từng dòng có thể loại bỏ tất cả các dòng mới.

sed:

sed ':a;N;$!ba;s/\n/ /g' file

ôi

awk '{printf $0" "}' file

Nhưng nó tốt hơn nhiều để sử dụng tr, như @Ignacio Vazquez-Abrams đã viết.


Tôi biết nó có thể được thực hiện với sed, nhưng bạn nói đúng, tr tốt hơn. Một tiện ích unix hai chữ cái khác để thêm vào vành đai của tôi.
JeremyKun

1

dẫn đầu ra xargs

#!/bin/sh -x
while
do
date > temp
ping cp1za >> temp
cat temp | xargs echo
done
Tue Dec 17 18:23:31 UTC 2013 CS V1R12: Pinging host CP1ZA.TMMNA.TMM.TOYOTA.C (150.45.12.22) Ping #1 response took 0.001 seconds.
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.