description |
---|
برای یافتن یک کلمه یا پترن خاص در فایل یا خروجی |
خب منوالش رو همین اول باز کنین و بخونین و میبینین که در کنار اسم grep اسم های egrep , fgrep , rgrep رو اورده تفاوتشونو سرچ کنین
خب grep چیست؟! چیز خاصی نیست ولی خیلی کار راه بندازه. ببینین مثلا یه فایلی داریم و توش 10000 خط چیز نوشته شده خب حالا میخوایم ببینیم مثلا توی این فایل ( با اسم مثلا file_name.txt ) چه خط هایی شامل کلمهی test بودن خب کافیه از گرپ با پترن زیر استفاده کنیم👇👇
grep test file_name.txt
خب فقط خط هایی که توشون test هست رو بهمون نشون میده ولی این حرکت علاوه بر test کلمه هایی ام که توشون test داره رو هم پیدا میکنه خب اینجاست که باید از regex بهره ببریم حالا اینکه رجکس چیه رو فعلا نمیخام بحثشو باز کنم (دوسن داشتید بدونین سرچ کنین) در این حد بگم که :
توضیح | مثال | |
---|---|---|
$ | با کلمه ای که بعد این علامت نوشتیم تموم بشه | $bar |
^ | با کلمه ای که بعد این علامت نوشتیم شروع بشه | ^where |
\ | واسه کاراکترای خاص مثل n\ یا اسپیس | \w |
[ ] | واسه مشخص کردن رنج | [0-9] |
| | همون مفهوم or در برنامه نویسی | ali | mamad |
+ | حداقل یکبار یا بیشتر کلمه قبلش ظاهر شده باشه | olagh+ |
* | صفر بار یا بیشتر کلمه قبلش ظاهر شده باشه | khar* |
خب حالا ما فقط میخوایم جمله هایی که مثلا توشون دقیقا کلمهی test اومده رو بهمون نشون بده👇👇
grep "\ test\ " filename.txt
اون دابل کوتیشنا آپشناله نذاشتینم نذاشتین
یا مثلا خط هایی که با test شروع شدن👇👇
grep "^test" filename.txt
در کلام آخر توصیه اکید دارم egrep رو بخونین و کار با رجکس رو یاد بگیرین