آشنایی با کاربردهای 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 است و حرف ابتدایی آن‌ها هر چیزی می‌تواند باشد در ترمینال به صورت رنگی نمایش داده خواهند شد.

دیدگاهتان را بنویسید