Làm cách nào để khớp ký tự ngắt trang trong biểu thức chính quy?


7

Nano gọi nó ^L, nhưng tất nhiên, gõ một cái gì đó như

$ grep -v "^\^L" file

không hoạt động. Mã điểm unicode của nó là 000C. Làm thế nào tôi có thể kết hợp nó trong một biểu thức thông thường?

Câu trả lời:


11

Đó dường như là nhân vật thức ăn dạng cũ tốt, được mô tả man asciinhư sau:

Oct   Dec   Hex   Char
------------------------------------------
014   12    0C    FF  '\f' (form feed)

(Không được đề cập ở đó, nhưng ^Lmã của nó giống nhau 12.)

Sau đó, trong bashbất kỳ trong số này nên làm việc:

grep -v $'^\f' file

grep -v $'^\cL' file

grep -v $'\x0C' file

1
Điều đó giải thích tại sao ^Lhoạt động để làm sạch màn hình. Ví dụ: khi bạn đang ở trên bàn điều khiển, chỉnh sửa tệp và nhật ký hệ thống sẽ spam bảng điều khiển. Cảm ơn.
Tim Kennedy

trong trường hợp bất kỳ ai khác đang đọc điều này để tìm hiểu, kwrite biểu thức chính quy chấp nhận \ f để thể hiện ký tự này
ixtmixilix

những gì là $'…'trong Bash? không bao giờ thấy điều đó, cũng không làm việc cho tôi
törzsmókus

Từ ngữ của hình thức $'string'được đối xử đặc biệt. Từ này mở rộng thành chuỗi, với các ký tự thoát dấu gạch chéo ngược được thay thế theo quy định của tiêu chuẩn ANSI C. - Hướng dẫn trích dẫn ANSI-C trong Bash
manatwork 24/10/19
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.