10 مثال عملی از دستور Linux Grep

دستور grep دسترسی به ابزار grep ، ابزاری قدرتمند برای پردازش فایل را که برای یافتن الگوها در پرونده های متنی استفاده می شود ، فراهم می کند. این برنامه کاربردهای عملی بسیاری دارد و مطمئناً یکی از پر کاربردترین دستورات در لینوکس است. این راهنما برخی از دستورات grep ساده اما مفید در Linux را نشان می دهد که کاربرد واقعی دارند.

فایل نمونه آزمایشی

ما یک فایل مرجع ایجاد کردیم تا به خوانندگان در درک موثرتر grep کمک کند. با صدور دستور پوسته زیر در ترمینال خود می توانید یک کپی از این پرونده ایجاد کنید.

cat <<END >> test-file
This is a simple text file that contains
multiple strings as well as some telephone numbers
(555) 555-1234 (567) 666-2345
and email plus web addresses
john@doe.com
https://google.com
ftp://mywebserver.com
END

1. متن را در پرونده ها پیدا کنید

برای جستجوی یک الگوی متنی در یک فایل ، به سادگی grep و به دنبال آن نام الگوی را اجرا کنید. همچنین نام فایلی را که حاوی متن است مشخص کنید.

grep "email" test-file

این دستور ترتیب ما را نشان می دهد پرونده آزمون که حاوی کلمه است پست الکترونیک. با استفاده از grep می توانید متن مشابه را در چندین پرونده جستجو کنید.

grep "example" /usr/share/dict/american-english /usr/share/dict/british-english

دستور فوق همه موارد کلمه را نشان می دهد مثال که در انگلیسی آمریکایی و انگلیسی بریتانیایی پرونده های فرهنگ لغت.

متن را با استفاده از دستور grep Linux پیدا کنید

2. کلماتی را پیدا کنید که دقیقاً مطابقت داشته باشند

دستور grep Linux ، که در مثال قبلی نشان داده شده است ، همچنین ردیف های تطبیق جزئی را لیست می کند. از دستور زیر استفاده کنید اگر فقط به کلمه دقیق برای نمایش نیاز دارید.

grep -w "string" test-file

-w یا –word-regexp گزینه grep خروجی را فقط به مطابقت دقیق محدود می کند. Grep شامل برخی از پرچم های اضافی است که می تواند با دستور پیش فرض نیز استفاده شود.

مرتبط: Grep چگونه نام خود را بدست آورد؟ داستان خلقت Grep

3. تفاوت بین موارد را نادیده بگیرید

به طور پیش فرض ، grep الگوهای حساس به حروف بزرگ را جستجو می کند. با این حال ، اگر نمی دانید در کدام حالت مدل پیش است ، ممکن است بخواهید این کار را خاموش کنید.

grep -i "this" test-file

استفاده کنید -من یا –ignore-case گزینه خاموش کردن حساسیت مورد

تطبیق رجیستری grep را غیرفعال کنید

4- تعداد الگوها را بشمارید

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

برای شمارش فرآیندهای مربوط به کاربر فعلی می توانید دستور gre را با grep وارد کنید.

ps -ef | grep -c $USER

شمارش اعداد الگوی در grep

دستور بعدی تعداد عدد را نشان می دهد MP3 پرونده ها در فهرست

ls ~/Music | grep -c .mp3

5. اعداد خط حاوی کبریت ها را نمایش دهید

ممکن است بخواهید شماره های خطی را پیدا کنید که شامل یک مطابقت خاص باشند. استفاده کنید -n یا – شماره خط گزینه grep برای رسیدن به این هدف.

cat /etc/passwd | grep -n rubaiat

این گزینه مخصوصاً برای رفع اشکال کد منبع و عیب یابی پرونده های ورود به سیستم بسیار مفید است. برای نشان دادن همه شماره های ردیف در / .vimrc که برای پیکربندی ویرایشگر متن Vim استفاده می شود:

grep -n "set" ~/.vimrc

6. نام پرونده ها را با استفاده از پسوندها پیدا کنید

برای دریافت لیستی از همه MP3 پرونده های موجود در / موسیقی فهرست راهنما:

ls ~/Music/ | grep ".mp3"

نمایش پرونده ها با استفاده از پسوند در grep

می توانید جایگزین کنید .mp3 با هر پسوند دیگری برای پیدا کردن پرونده های خاص. دستور بعدی همه آنها را لیست می کند پی اچ پی پرونده های موجود در فهرست کار فعلی.

ls | grep ".php"

7. نمونه ها را در پرونده های فشرده پیدا کنید

دستور grep Linux همچنین می تواند الگوها را در پرونده های فشرده شده پیدا کند. شما باید استفاده کنید zgrep دستور برای این ، با این حال. ابتدا بایگانی فشرده شده خود را ایجاد کنید پرونده آزمون با تایپ کردن:

gzip test-file

اکنون می توانید متن یا الگوهای دیگر را در بایگانی حاصل جستجو کنید.

zgrep email test-file.gz

8- آدرس های ایمیل را پیدا کنید

سرپرستان همچنین می توانند با استفاده از دستور grep Linux آدرس های ایمیل را از پرونده های متنی لیست کنند. مثال زیر این کار را با جستجوی یک الگوی بیان منظم انجام می دهد.

grep '^[a-zA-Z0-9]+@[a-zA-Z0-9]+.[a-z]{2,}' test-file

برای انجام کارهای مشابه می توانید عباراتی منظم پیدا کنید ، یا اگر می دانید چگونه کار می کنند می توانید خود آنها را ایجاد کنید.

شماره و ایمیل را با استفاده از دستور grep Linux پیدا کنید

9. شماره های تلفن را با استفاده از Grep پیدا کنید

برای فیلتر کردن شماره تلفن ها از یک فایل متنی می توانید از عبارات grep منظم استفاده کنید. توجه داشته باشید که باید الگو را متناسب با نوع شماره تلفن های مورد نیاز خود تغییر دهید.

grep '(([0-9]{3})|[0-9]{3})[ -]?[0-9]{3}[ -]?[0-9]{4}' test-file

دستور فوق الذکر شماره تلفن های ده رقمی ایالات متحده را فیلتر می کند.

10. URL ها را از پرونده های منبع پیدا کنید

ما می توانیم از قدرت grep برای لیست کردن URL های یافت شده در پرونده های متنی استفاده کنیم. دستور زیر کلیه URL ها را در چاپ می کند پرونده آزمون.

grep -E "^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})" test-file

url را با استفاده از دستور grep نمایش دهید

ما دوباره استفاده می کنیم -آره گزینه ای برای عبارات منظم گسترده همچنین می توانید استفاده کنید egrep دستور جلوگیری از افزودن این

egrep "^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})" test-file

تسلط بر دستور Linux Grep

ما چندین مثال مفید از دستور grep Linux برای مقابله با مشکلات واقعی ارائه کرده ایم. اگرچه این مثالها قدرت پردازش کلمه grep را نشان می دهد ، اگر می خواهید با grep بسیار کارآمد باشید باید به عبارات منظم تسلط داشته باشید.

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


یک تصویر مشخص از یک شخص یادداشت برداری و یادگیری است
7 راه برای کمک در خط فرمان Linux

تمام دستورات اساسی برای یادگیری دستورات لینوکس از خط فرمان

بعدی را بخوانید


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

.

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