Trong Unix Ít bớt, tôi có thể chuyển sang dòng tiếp theo KHÔNG chứa X không?


21

Trong lesscông cụ Unix , có thể chuyển sang dòng tiếp theo không chứa một biểu thức nhất định không?

Đôi khi tôi phải xem qua các tệp chứa hàng ngàn dòng liền kề tương tự, ví dụ, tất cả đều nói "Tính toán một cái gì đó " và tôi quan tâm đến dòng tiếp theo sau khối hiện tại không chứa từ "Tính toán".

Câu trả lời:


29

Có, đây là chức năng tìm kiếm không phù hợp, ví dụ:

less file.conf

sau đó bạn nhập /và sau đó !dòng cuối cùng của bạn sẽ trông như sau:

Non-match /

sau đó nhập mẫu của bạn chẳng hạn Non-match /^#để tìm dòng đầu tiên mà không bắt đầu#

Thay vì !nhân vật bạn cũng có thể sử dụng Ctrl+N.


1
Đây là hoàn hảo. Không thể mong đợi một câu trả lời tốt hơn.
dehmann

4

Là một bổ sung cho câu trả lời của Casual Coder:

Bạn cũng có thể lọc các dòng hoàn toàn:

<logfile grep -v mypattern |less 

Nhược điểm là bạn phải thoát và khởi động lại grep để thay đổi mẫu; lợi thế là các dòng bạn không muốn nhìn thấy bị ẩn đi, giúp dễ dàng phát hiện các mẫu thú vị trong các dòng mà bạn quan tâm.


1

Không chỉ bạn có thể nhảy giữa các dòng không chứa X, bạn có thể ẩn các dòng nào chứa X, sử dụng lesscủa &lệnh lọc regex.

less file.conf

sau đó gõ &!^Computingthì enterquan trọng và tất cả những dòng sẽ được ẩn khỏi tầm nhìn.

Bạn vẫn có thể tìm kiếm trong các dòng còn lại với /.

Khi bạn tìm thấy dòng bạn muốn, bạn có thể đưa những người khác trở lại nếu bạn cần ngữ cảnh của họ - gõ &rồi enterkhóa để xóa bộ lọc.

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.