Cách chèn dòng mới vào MẪU khi sử dụng fgrep / grep -F / grep --fixed-chuỗi


7

Khi sử dụng fgrep, trang man cho biết nó sẽ

Giải thích MẪU như một danh sách các chuỗi cố định, được phân tách bằng các dòng mới, bất kỳ chuỗi nào sẽ được khớp.

Trong bash, cách chính xác để chèn dòng mới vào đối số MẪU (nghĩa là nó sẽ khớp với bất kỳ dòng nào theo trang man).

Tôi đã thử những điều sau đây không có may mắn:

fgrep word1\nword2
fgrep word1\rword2
fgrep "word1\nword2"
fgrep "word1\rword2"

Tôi muốn lệnh là tất cả trên một dòng nếu có thể.

Câu trả lời:


7

Điều này có thể được thực hiện bằng cách sử dụng $'\n'cú pháp (xem https://stackoverflow.com/a/3182519/3822464 ). Ví dụ:

fgrep word1$'\n'word2

Hoặc bạn có thể bao bọc toàn bộ MẪU theo cách đó (tín dụng don_crissti)

fgrep $'word1\nword2\nword3'

4
grep -F 'word1
word2' infile

hoặc, nếu bạn thích trên một dòng:

grep -F -e 'word1' -e 'word2' infile

Cảm ơn - đó -elà một giải pháp thay thế tốt
sa289
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.