2013-05-19 69 views
36

Khi sử dụng lệnh Grep để tìm chuỗi tìm kiếm trong tập hợp tệp, có cách nào để kết xuất kết quả vào tệp văn bản không? Cũng có một chuyển đổi cho lệnh Grep cung cấp kết quả sạch hơn cho khả năng đọc tốt hơn, chẳng hạn như nguồn cấp dữ liệu dòng giữa mỗi mục nhập? Có lẽ đó là một kịch bản Grep rằng kết quả đầu ra kết quả sạchSử dụng lệnh Grep Linux - cần đầu ra cho tệp văn bản, đầu ra sạch hơn

Cảm ơn

Trả lời

21

Redirection sản lượng chương trình được thực hiện bởi vỏ.

grep ... > output.txt 

grep không có cơ chế để thêm dòng trống giữa mỗi trận đấu, nhưng không cung cấp các tùy chọn như bối cảnh xung quanh dòng phù hợp và colorization của trận đấu riêng của mình. Xem trang người đàn ông grep(1) để biết chi tiết, cụ thể là các tùy chọn -C--color.

56
grep -n "YOUR SEARCH STRING" * > output-file 

-n sẽ in số dòng và > sẽ chuyển hướng kết quả grep đến tệp đầu ra.
Nếu bạn muốn "làm sạch" kết quả mà bạn có thể lọc chúng bằng ống | ví dụ:
grep -n "test" * | grep -v "mytest" > output-file sẽ phù hợp với tất cả các dòng có chuỗi "test" ngoại trừ các dòng phù hợp với chuỗi "mytest" (đó là công tắc -v) - và sẽ chuyển hướng kết quả đến tệp đầu ra.
Có thể tìm thấy một vài mẹo nhỏ có thể tìm thấy một số mẹo nhỏ có thể được tìm thấy on this post

+7

Grep chỉ viết khi kết thúc hoặc ghi dòng bằng cách xử lý nội dung? Cảm ơn! – Crista23

+4

@alfasin - không phải là duy nhất '>' sẽ ghi đè lên các kết quả trong tập tin đầu ra? Chúng ta có nên sử dụng double '>>' để nối kết quả vào tập tin không? – GTodorov

+3

@GTodorov có, nếu bạn muốn nối thêm sử dụng '>>' – alfasin

Các vấn đề liên quan