آخرین بروزرسانی 1 روز قبل

چاپ جهانی-بیان-بیان (GREP) چیست؟

GREP چیست؟ راهنمای کامل برای مبتدیان

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

GREP مخفف Global Regular Expression Print هست. شاید اسمش یکم پیچیده به نظر برسه، ولی کارش خیلی ساده است. GREP یه دستور توی سیستم عامل های لینوکس و مک (و حتی ویندوز، البته با برنامه های خاص) هست که توی فایل ها دنبال متن های خاص میگرده. فرض کنید یه کتاب خیلی بزرگ دارید و دنبال یه کلمه خاص میگردید. GREP دقیقا همین کار رو براتون انجام میده، فقط خیلی سریعتر!

بیایید یک مثال ساده بزنیم. فرض کنید یه فایل متنی به اسم `myfile.txt` دارید که توش این نوشته ها هست:


This is a sample file.
It contains some text.
We want to find the word "text".
This file is for testing purpose.

حالا میخوایم توی این فایل دنبال کلمه "text" بگردیم. کافیه این دستور رو توی ترمینال (یا خط فرمان) وارد کنیم:


grep "text" myfile.txt

نتیجه این میشه:


It contains some text.

GREP خطی رو که کلمه "text" توش بوده، به ما نشون داد. خیلی ساده، درسته؟

Regular Expression یا عبارت باقاعده چیه؟

همونطور که گفتیم، GREP از Regular Expression استفاده میکنه. عبارت باقاعده یه جور الگو هست که برای پیدا کردن متن های خاص استفاده میشه. لازمه که کامل بلد باشید. به عنوان مثال، فرض کنید میخوایم تمام خط هایی رو پیدا کنیم که با حرف "T" شروع میشن. میتونیم از این عبارت باقاعده استفاده کنیم: ^T. علامت ^ یعنی "شروع خط". پس دستور GREP ما میشه:


grep "^T" myfile.txt

نتیجه:


This is a sample file.
This file is for testing purpose.

همونطور که میبینید، فقط خط هایی که با "T" شروع میشن رو نشون داد.

عبارت های باقاعده خیلی پیچیده تر از اینها هم میتونن باشن، ولی برای شروع همین قدر کافیه.

کاربردهای GREP

GREP کاربردهای خیلی زیادی داره. چند تا از مهمترین هاشون اینها هستن:

  • پیدا کردن یه کلمه یا عبارت خاص توی یه فایل بزرگ.
  • پیدا کردن تمام فایل هایی که یه عبارت خاص توشون هست.
  • پیدا کردن الگوهای خاص توی فایل ها، مثل ایمیل ها یا شماره تلفن ها.
  • استفاده در اسکریپت های bash برای اتوماسیون کارها.
  • برسی لاگ فیلها و پیده کردن خظاها

آپشن های مهم GREP

GREP آپشن های زیادی داره که کارش رو قوی تر میکنن. چند تا از مهمترین هاشون رو اینجا میگیم:

آپشن توضیح مثال
-i جستجو بدون توجه به بزرگ و کوچک بودن حروف (Case-insensitive). grep -i "text" myfile.txt
-v نمایش خط هایی که عبارت مورد نظر رو ندارن (Invert match). grep -v "text" myfile.txt
-n نمایش شماره خط (Line number). grep -n "text" myfile.txt
-r یا -R جستجو در تمام فایل ها و زیرشاخه ها (Recursive search). grep -r "text" . (نقطه یعنی "دایرکتوری فعلی")
-c شماره تعداد خط هایی که عبارت مورد نظر رو دارن (Count). grep -c "text" myfile.txt

مثال: فرض کنید میخوایم بدونیم چند خط توی فایل `myfile.txt` کلمه "text" وجود داره، بدون توجه به اینکه بزرگ یا کوچیک باشه. میتونیم از این دستور استفاده کنیم:


grep -ic "text" myfile.txt

خلاصه

GREP یه ابزار قدرتمند و پرکاربرد برای جستجو توی فایل هاست. با یادگیری GREP میتونید خیلی سریع تر و راحت تر اطلاعات مورد نیازتون رو پیدا کنید. امیدوارم این مقاله بهتون کمک کرده باشه تا با GREP آشنا بشید و ازش استفاده کنید. تمرین زیات فراموش نشه.

موفق باشید!

کلیدواژه ها

grep, لینوکس, خط فرمان, عبارت باقاعده, regular expression, جستجو, فایل, ترمینال

سوال: GREP روی ویندوز هم کار میکنه؟
جواب: بله، ولی به صورت پیشفرض نصب نیست. میتونید از Cygwin یا Git Bash استفاده کنید که ابزار GREP رو دارن، یا نسخه های GREP رو برای ویندوز دانلود و نصب کنید.
سوال: چطوری میتونم تمام فایل های یه پوشه رو با GREP جستجو کنم؟
جواب: از آپشن -r یا -R استفاده کنید. مثلاً grep -r "text" /path/to/folder تمام فایل های داخل پوشه `/path/to/folder` و زیرشاخه هاش رو برای کلمه "text" جستجو میکنه.
سوال: چطوری میتونم شماره تلفن ها رو توی یه فایل پیدا کنم؟
جواب: این یکم پیچیده تره و نیاز به عبارت باقاعده داره. یه عبارت باقاعده ساده برای شماره تلفن میتونه این باشه: [0-9]{3}-[0-9]{3}-[0-9]{4}. البته این فقط یه مثال ساده است و ممکنه شماره تلفن ها فرمت های دیگه ای هم داشته باشن.
سوال: چطوری میتونم در یک زمان در چند فایل دنباس یک متن بگاردیم؟
جواب: اگه اسم فایل ها رو میدونید ، به سادگی با فاصله از هم جداد کنید. مثال: grep "text" file1.txt file2.txt file3.txt
مخفف Global-Regular-Expression-Print چیست؟
مخفف Global-Regular-Expression-Print کلمه GREP می باشد.
GREP مخفف چیست؟
GREP مخفف Global-Regular-Expression-Print می باشد.

کلمه GREP مخفف چیست؟

وقتی به GREP به عنوان مخفف Global-Regular-Expression-Print اشاره می کنیم، منظور این است که GREP با گرفتن حروف اولیه هر کلمه مهم در Global-Regular-Expression-Print تشکیل می شود. این فرآیند عبارت اصلی را به شکلی کوتاه تر و قابل مدیریت تر فشرده می کند و در عین حال معنای اصلی خود را حفظ می کند. بر اساس این تعریف، GREP مخفف Global-Regular-Expression-Print است.

به اشتراک گذاشتن این مطلب در شبکه های اجتماعی

امتیاز شما به این مطلب

امتیاز: 5 از 5 (مجموع 1 رای)

اولین نفری باشید که در مورد این مقاله نظر می دهید!

4384- V2
Terms & Conditions | Privacy Policy

techfeed.ir© 2024 All rights reserved