سرفصل‌های آموزشی
آموزش لینوکس
آشنایی با کاربردهای grep و Regular Expression

آشنایی با کاربردهای grep و Regular Expression

Regular Expression که به صورت خلاصه Regex خوانده می‌شود راه‌کاری است که از آن طریق می‌توان یک Pattern (پترن یا الگو) خاصی را در یک متن یافت. بسیاری از ابزارهای ویرایش متن همچون vi و یا زبان‌های برنامه نویسی مطرح همچون پایتون، روبی، پرل، پی اچ پی و غیره هم به خوبی با رجیکس کار می‌کنند و این نشان از اهمیت درک Regular Expression ها دارد. در جدول زیر، برخی از کاربردهای رایج رجیکس را لیست کرده‌ایم:

کاربرد الگوی رگولار اکسپرشن هر یک کاراکتر محاسبه خواهد شد. . یا نقطه حرف a یا z تطبیق داده خواهد شد. a | z انتهای یک استرینگ -متن- تطبیق داده خواهد شد. $ صفر یا بیش از یک آیتم تطبیق داده خواد شد. *

grep هم کامندی است که به عنوان ابزاری برای جستجو در متن به منظور یافتن الگویی خاص در فایل‌های مختلف مورد استفاده قرار می‌گیرد که به راحتی می‌توان این ابزار را با دستور رجیکس مورد استفاده قرار داد. 

    به خاطر داشته باشید
grep مخفف واژگان Global Regular Expression Print است.

برای روشن‌تر شدن کاربرد ابزار grep ابتدا به مسیر زیر می‌رویم:

& cd /usr/share/common-licenses

حال دستور زیر را وارد می‌کنیم:

grep "GNU" GPL-3

اولین پارامتر که "GNU" است به عنوان الگویی است که به دنبال آن می گردیم و دومین پارامتر هم نام فایلی است که قرار است این الگو را داخل آن جستجو کنیم. به عنوان خروجی دستور فوق داریم:

GNU GENERAL PUBLIC LICENSE
  The GNU General Public License is a free, copyleft license for
the GNU General Public License is intended to guarantee your freedom to
GNU General Public License for most of our software; it applies also to
  Developers that use the GNU GPL protect your rights with two steps:
  "This License" refers to version 3 of the GNU General Public License.
  13. Use with the GNU Affero General Public License.
under version 3 of the GNU Affero General Public License into a single
but the special requirements of the GNU Affero General Public License,
the GNU General Public License from time to time.  Such new versions will
Program specifies that a certain numbered version of the GNU General
GNU General Public License, you may choose any version ever published
versions of the GNU General Public License can be used, that proxy's
    it under the terms of the GNU General Public License as published by
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
For more information on this, and how to apply and follow the GNU GPL, see
  The GNU General Public License does not permit incorporating your program
the library.  If this is what you want to do, use the GNU Lesser General

حال قصد داریم دستور grep را با استفاده از یکی از رگولار اکسپرشن هایی که در بالا معرفی کردیم مورد استفاده قرار دهیم. پیش از این گفتیم که وقتی نقطه (.) در رگولار اکسپرشن استفاده می‌شود، به معنی «هر یک کاراکتری که وجود داشته باشد» است. برای روشن‌تر شدن این مطلب، دستور زیر را وارد می‌کنیم:

$ grep ".ublic" GPL-3

به عنوان خروجی فوق، کلیه ی واژگانی که انتهای آن‌ها ublic است و حرف ابتدایی آن‌ها هر چیزی می‌تواند باشد در ترمینال به صورت رنگی نمایش داده خواهند شد.

online-support-icon