المراسي
علامة الإقحام (^) وعلامة الدولار ($) يتم التعامل مع الأحرف على أنها المراسي في التعبيرات النمطية. هذا يعني أنهم يتسببون في حدوث المطابقة فقط إذا تم العثور على التعبير العادي في بداية السطر (^) أو في نهاية السطر ($):
[me @ linuxbox ~] $ grep -h '^ zip' dirlist * .txt
الرمز البريدي zipcloak zipgrep zipinfo zipnote zipsplit
[me @ linuxbox ~] $ grep -h 'zip $' dirlist * .txt
gunzip gzip funzip gpg-zip preunzip prezip بفك الرمز البريدي
[me @ linuxbox ~] $ grep -h '^ zip $' dirlist * .txt
الرمز البريدي
[me @ linuxbox ~] $ grep -h '^ zip' dirlist * .txt
الرمز البريدي zipcloak zipgrep zipinfo zipnote zipsplit
[me @ linuxbox ~] $ grep -h 'zip $' dirlist * .txt
gunzip gzip funzip gpg-zip preunzip prezip بفك الرمز البريدي
[me @ linuxbox ~] $ grep -h '^ zip $' dirlist * .txt
الرمز البريدي
بحثنا هنا في قائمة الملفات عن السلسلة "zip" الموجودة في بداية السطر ونهاية السطر وفي السطر حيث تكون في كل من بداية السطر ونهايته (على سبيل المثال ، من تلقاء نفسه على الخط). لاحظ أن التعبير العادي "^ $" (بداية ونهاية بدون أي شيء بينهما) سيطابق الأسطر الفارغة.
مساعد لغز الكلمات المتقاطعة
حتى مع معرفتنا المحدودة بالتعبيرات النمطية في هذه المرحلة ، يمكننا أن نفعل شيئًا مفيدًا.
تحب زوجتي الألغاز المتقاطعة وستطلب مني أحيانًا المساعدة في سؤال معين. شيء من هذا القبيل ، "ما هي الكلمة المكونة من خمسة أحرف وحرفها الثالث" j "والحرف الأخير هو" r "وهذا يعني ...؟" هذا النوع من الأسئلة جعلني أفكر.
هل تعلم أن نظام Linux الخاص بك يحتوي على قاموس؟ نعم هو كذلك. ألق نظرة في / البيرة / حصة / ديكت الدليل وقد تجد واحدًا أو أكثر. توجد ملفات القاموس الموجودة هناك فقط قوائم طويلة من الكلمات ، واحدة في كل سطر ، مرتبة حسب الترتيب الأبجدي. على نظامي ، فإن كلمات يحتوي الملف على ما يزيد قليلاً عن 98,500
كلمات. للعثور على إجابات محتملة لسؤال الكلمات المتقاطعة أعلاه ، يمكننا القيام بذلك:
[me @ linuxbox ~] $ grep -i '^ .. jr $' / usr / share /ict / Words
تخصص رئيسي
باستخدام هذا التعبير النمطي ، يمكننا العثور على جميع الكلمات الموجودة في ملف قاموسنا والتي تتكون من خمسة أحرف ولها الحرف "j" في الموضع الثالث وحرف "r" في الموضع الأخير.