سلام دوستان عزیز. در این مقاله می خواهیم دربارهی یک ابزار خیلی مفید به اسم 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" توش بوده، به ما نشون داد. خیلی ساده، درسته؟
همونطور که گفتیم، GREP از Regular Expression استفاده میکنه. عبارت باقاعده یه جور الگو هست که برای پیدا کردن متن های خاص استفاده میشه. لازمه که کامل بلد باشید. به عنوان مثال، فرض کنید میخوایم تمام خط هایی رو پیدا کنیم که با حرف "T" شروع میشن. میتونیم از این عبارت باقاعده استفاده کنیم: ^T
. علامت ^
یعنی "شروع خط". پس دستور GREP ما میشه:
grep "^T" myfile.txt
نتیجه:
This is a sample file.
This file is for testing purpose.
همونطور که میبینید، فقط خط هایی که با "T" شروع میشن رو نشون داد.
عبارت های باقاعده خیلی پیچیده تر از اینها هم میتونن باشن، ولی برای شروع همین قدر کافیه.
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, جستجو, فایل, ترمینال
-r
یا -R
استفاده کنید. مثلاً grep -r "text" /path/to/folder
تمام فایل های داخل پوشه `/path/to/folder` و زیرشاخه هاش رو برای کلمه "text" جستجو میکنه.[0-9]{3}-[0-9]{3}-[0-9]{4}
. البته این فقط یه مثال ساده است و ممکنه شماره تلفن ها فرمت های دیگه ای هم داشته باشن.وقتی به GREP به عنوان مخفف Global-Regular-Expression-Print اشاره می کنیم، منظور این است که GREP با گرفتن حروف اولیه هر کلمه مهم در Global-Regular-Expression-Print تشکیل می شود. این فرآیند عبارت اصلی را به شکلی کوتاه تر و قابل مدیریت تر فشرده می کند و در عین حال معنای اصلی خود را حفظ می کند. بر اساس این تعریف، GREP مخفف Global-Regular-Expression-Print است.
امتیاز شما به این مطلب
امتیاز: 5 از 5 (مجموع 1 رای)
اولین نفری باشید که در مورد این مقاله نظر می دهید!
techfeed.ir© 2024 All rights reserved