Nói rằng tôi có tập tin sau:
$ cat test
test line 1
test line 2
line without the search word
another line without it
test line 3 with two test words
test line 4
Theo mặc định, grep
trả về mỗi dòng có chứa cụm từ tìm kiếm:
$ grep test test
test line 1
test line 2
test line 3 with two test words
test line 4
Truyền --color
tham số grep
sẽ làm cho nó làm nổi bật phần của dòng khớp với biểu thức tìm kiếm, nhưng nó vẫn chỉ trả về các dòng có chứa biểu thức. Có cách nào để grep
xuất ra mọi dòng trong tệp nguồn, nhưng làm nổi bật các kết quả khớp?
Bản hack khủng khiếp hiện tại của tôi để thực hiện điều này (ít nhất là trên các tệp không có hơn 10000 dòng liên tiếp không có kết quả trùng khớp) là:
$ grep -B 9999 -A 9999 test test
Nếu grep
không thể thực hiện được điều này, có công cụ dòng lệnh nào khác cung cấp chức năng tương tự không? Tôi đã loay hoay ack
, nhưng dường như cũng không có lựa chọn nào cho nó.
-C 9999
thay cho. -A 9999 -B 9999
Tôi luôn luôn làm:grep -C 9999 pattern file