لینوکسی بشیم: جستجوی فایل با grep (آپشن‌ها)

قسمت قبلی دیدیم چجوری با regex میشه کار کرد. حالا میخوایم ببینیم چه آپشن‌هایی داریم تو grep و غیر از اون کاربردی که دیدیم چه کارایی میشه باهاش کرد. مطلب این دفعه به درد ادمین‌های لینوکس و هم‌چنین به درد برنامه‌نویس‌هایی که میخوان در محیط لینوکس کار کنن میخوره.

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

اولین آپشن رو قسمت قبل دیدیم؛ اگه گفتید؟ بله E- هست که به grep میگه هر علامتی دید که به regex مربوط میشه اون رو در نظر بگیره و دنبال خود علامت تو متن نگرده. دقیقا برعکس این F- هست که میگه همه چیز رو یه رشته معمولی در نظر بگیر.

یه کار خوب که میشه با grep کرد اینه که بگیم حروف بزرگ و کوچیک رو در نظر نگیره. اون هم با i- :

میتونید عملکردش رو هم برعکس کنید؛ یعنی بگید خط‌هایی رو بده که الگوی داده شده توش نباشه. این کار رو با v- میکنیم:

اگر بخوایم تعداد خطوطی که توشون الگو وجود داره رو بشماریم از c- استفاده می‌کنیم:

یه موقع ممکنه بخوایم تو یه پوشه فایل‌هایی که یه الگو رو دارن پیدا کنیم. اون موقع l- رو داریم:

در این جا تمام فایل‌های پوشه‌ی paasino رو گشته و این دو تا فایل داخلش عبارت linux وجود داره. دقت کنید بعد از مسیر پوشه علامت ستاره رو گذاشتم که به تمام فایل‌های داخل پوشه اشاره میکنه. این یه کاری هست که بش برای ما میکنه و بعدا ایشالا باز می‌بینیمش. میشه با R- تمام پوشه‌های درونی رو هم گشت. این رو به همراه l- استفاده میکنیم:

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

اگرم خواستیم شماره خط رو پیدا کنیم n- می‌ذاریم:

خب این مطلب کوتاه تموم شد. grep مثل بقیه دستورا آپشن‌های زیادی داره که در man میتونید ببینید. اینجا آپشن‌هایی که بیشتر به درد میخوره رو دیدیم. امیدوارم مفید بوده باشه براتون. اگر نظر یا سوالی دارید این پایین بفرمایید.

قسمت قبلی

قسمت بعدی