<Trước | Nội dung | Tiếp theo>
neo
Dấu mũ (^) và ký hiệu đô la ($) các ký tự được coi là neo trong biểu thức chính quy. Điều này có nghĩa là chúng khiến kết quả khớp chỉ xảy ra nếu tìm thấy biểu thức chính quy ở đầu dòng (^) hoặc ở cuối dòng ($):
[tôi @ linuxbox ~] $ grep -h '^ zip' dirlist * .txt
zip zipcloak zipgrep zipinfo zipnote zipsplit
[tôi @ linuxbox ~] $ grep -h 'zip $' dirlist * .txt
gunzip gzip funzip gpg-zip preunzip prezip giải nén zip
[tôi @ linuxbox ~] $ grep -h '^ zip $' dirlist * .txt
zip
[tôi @ linuxbox ~] $ grep -h '^ zip' dirlist * .txt
zip zipcloak zipgrep zipinfo zipnote zipsplit
[tôi @ linuxbox ~] $ grep -h 'zip $' dirlist * .txt
gunzip gzip funzip gpg-zip preunzip prezip giải nén zip
[tôi @ linuxbox ~] $ grep -h '^ zip $' dirlist * .txt
zip
Ở đây, chúng tôi đã tìm kiếm danh sách các tệp cho chuỗi “zip” nằm ở đầu dòng, cuối dòng và trên một dòng mà nó nằm ở cả đầu và cuối dòng (tức là dòng). Lưu ý rằng biểu thức chính quy '^ $' (phần đầu và phần cuối không có gì ở giữa) sẽ khớp với các dòng trống.
Trình trợ giúp câu đố ô chữ
Ngay cả với kiến thức hạn chế của chúng tôi về biểu thức chính quy tại thời điểm này, chúng tôi có thể làm điều gì đó hữu ích.
Vợ tôi thích giải ô chữ và đôi khi cô ấy sẽ nhờ tôi giúp đỡ với một câu hỏi cụ thể. Đại loại như, "Một từ gồm năm chữ cái có chữ cái thứ ba là 'j' và chữ cái cuối cùng là 'r' có nghĩa là ...?" Loại câu hỏi này khiến tôi phải suy nghĩ.
Bạn có biết rằng hệ thống Linux của bạn có một từ điển? Nó có. Hãy xem trong / usr / share / dict thư mục và bạn có thể tìm thấy một hoặc một số. Các tệp từ điển nằm ở đó chỉ là danh sách dài các từ, mỗi từ trên một dòng, được sắp xếp theo thứ tự bảng chữ cái. Trên hệ thống của tôi, từ tệp chỉ chứa hơn 98,500
từ. Để tìm câu trả lời khả thi cho câu hỏi giải ô chữ ở trên, chúng ta có thể làm như sau:
[tôi @ linuxbox ~] $ grep -i '^ .. jr $' / usr / share / dict / words
Chuyên ngành chính
Sử dụng cụm từ thông dụng này, chúng tôi có thể tìm thấy tất cả các từ trong tệp từ điển của chúng tôi dài năm chữ cái và có “j” ở vị trí thứ ba và “r” ở vị trí cuối cùng.
<Trước | Nội dung | Tiếp theo>