Làm thế nào để tôi bao gồm các dòng mới trong một tìm kiếm ít hơn?


16

Làm cách nào tôi có thể tìm kiếm dòng mới (hoặc cuối dòng) như một phần của tìm kiếm bằng cách sử dụng ít hơn?

Ví dụ: tôi muốn tìm kiếm length=9\n, nhưng không muốn chỉ tìm kiếm length==9vì điều đó sẽ phù hợp với length=90\n.

Tôi đang sử dụng GNU bash, phiên bản 4.0.33 (1) -release (x86_64-pc-linux-gnu) trên Ubuntu 9.10 (Karmic Koala)

Tôi đã thử đọc hướng dẫn thân thiện, nhưng nó nói

/pattern

Tìm kiếm phía trước trong tệp cho dòng N-th chứa mẫu. N mặc định là 1. Mẫu là biểu thức chính quy, được nhận dạng bởi thư viện biểu thức chính quy do hệ thống của bạn cung cấp. Tìm kiếm bắt đầu ở dòng thứ hai được hiển thị (nhưng xem các tùy chọn -a và -j, thay đổi này).

và tôi không biết làm thế nào để RTFM vượt quá điều đó.


1
Bạn cũng có thể thấy các tìm kiếm được neo vào ranh giới từ là hữu ích. /\<length=9\>sẽ tìm thấy "length = 9" ở bất cứ đâu trên một dòng mà không khớp "length = 90" hoặc "stringlength = 9". Xem man 7 regexman grepđể biết thêm.
Tạm dừng cho đến khi có thông báo mới.

1
Đối với những người tìm kiếm câu trả lời cho tiêu đề của câu hỏi: Tôi không tin rằng bạn có thể đưa các dòng mới vào một tìm kiếm ít hơn. Điều này có nghĩa là các tìm kiếm đa dòng trong ít hơn dường như không thể.
drevicko

Câu trả lời:


11

Bạn có thể làm:

/pattern$

Mẫu thay thế pattern, nhưng $phải ở lại, nó báo cho tìm kiếm để tìm mẫu, và sau đó là cuối dòng.

Vì vậy, bạn sẽ làm:

/length=9$
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.