Nhật ký thư rất khó đọc. Làm cách nào tôi có thể xuất một dòng trống giữa mỗi dòng được in trên dòng lệnh? Ví dụ: giả sử tôi đang chỉnh sửa nhật ký. Theo cách đó, nhiều dòng bọc không bị nhầm lẫn.
Nhật ký thư rất khó đọc. Làm cách nào tôi có thể xuất một dòng trống giữa mỗi dòng được in trên dòng lệnh? Ví dụ: giả sử tôi đang chỉnh sửa nhật ký. Theo cách đó, nhiều dòng bọc không bị nhầm lẫn.
Câu trả lời:
sed G
# option: g G Copy/append hold space to pattern space.
G
không thường được sử dụng, nhưng là tốt cho mục đích này. sed duy trì hai không gian bộ đệm: không gian mô hình của nhà vua và không gian tổ chức không gian. Các dòng xử lý bởi sed thường chảy qua không gian mô hình như các lệnh khác nhau hoạt động trên nội dung của nó ( s///
, p
, vv); không gian giữ bắt đầu trống và chỉ được sử dụng bởi một số lệnh.
Các G
lệnh gắn thêm một dòng mới và các nội dung của vũ trụ giữ cho không gian mẫu. Chương trình sed ở trên không bao giờ đặt bất cứ thứ gì vào không gian giữ, vì vậy, G
hiệu quả chỉ là một dòng mới cho mỗi dòng được xử lý.
-e
vì chúng ta chỉ cần một đối số lệnh duy nhất.
Đây có phải là những gì bạn đang theo đuổi?
grep SPAM mail.log | while read -r line; do echo; echo $line; done
read -r
để tránh coi các ký tự dấu gạch chéo ngược là đặc biệt.
Nếu không chỉ đơn giản là nhìn, tôi thích gửi chúng vào tệp văn bản và mở bằng trình chỉnh sửa văn bản để bạn có thể đặt các dòng để bọc hoặc không và thực hiện tìm kiếm dễ dàng ... và xóa các dòng không mong muốn, v.v. phải gõ rất nhiều lệnh.
cat file.log > log.txt
và gedit log.txt
hoặc một trình soạn thảo đầu cuối như nano
Chỉnh sửa: hoặc cp file.log log.txt
tất nhiên là dễ dàng hơn và nhanh hơn ... nhờ bình luận của KeithB
cat
và không cp
?
cp
sẽ dễ dàng hơn và nhanh hơn ... lol - Tôi đã đọc những câu trả lời khác đối phó với grep
và awk
vì vậy tôi đã viết nó cat
cách nhưng tôi sửa chữa, nhờ
whatever | sed G
nên làm thủ thuật.