یک فن

لینوکس در مشت شما

کاربر لینوکس به هر مدتی باشید، تا به‌حال در مورد grep چیزهایی شنیده‌اید. گنوگرپ ابزاری است که می‌توانید توسط آن فایل‌های مختلف را جستجو کنید. هر کسی که بخواهد با لینوکس کار کند، باید به این ابزار مسلط باشد.
کد خبر: ۳۳۵۸۵۰

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

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

همچنین این ابزار برای فیلتر کردن خروجی نرم‌افزارهای مختلف کاربرد زیادی دارد. مثلا بیایید فرض کنیم که تمام فایل‌هایی که در دایرکتوری
/usr/bin وجود دارد را می‌خواهید بیابید. دستور زیر را اجرا کنید:

dpkg-query -L packagename | grep "/usr/bin"

و اگر در سیستم‌های rpm کار می‌کنید، دستور زیر را اجرا کنید:‌

rpm -q --filesbypkg packagename | grep "/usr/bin"

به‌جای این‌که تمام فایل‌های داخل آن دایرکتوری را ببینید، تنها فایل‌های نصبی را مشاهده خواهید کرد.

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

برای جستجو در زیردایرکتوری‌ها باید از گزینه r- استفاده کنید. به‌صورت پیش‌فرض گرپ تنها دایرکتوری اصلی را جستجو می‌کند و به دایرکتوری‌های پایینی کاری ندارد. بنابراین اگر دستوری مشابه grep *.html را اجرا کردید، در این صورت دایرکتوری‌هایی که در دایرکتوری فعلی قرار دارند بررسی نخواهد شد.

حالا اگر بخواهید همه چیز را پیدا کنید ولی یک چیز خاص را فیلتر کنید چطور؟ می‌شود این کار را با گزینه v- در گرپ انجام داد و فایل‌هایی که نمی‌خواهید را از فهرست نتایج حذف کنید.

اگر می‌خواهید بدانید که چه فایل‌هایی این الگو را را دارند اما نمی‌خواهید نتیجه را به صورت خطوط یافت شده و نام فایل مشاهده کنید، در این صورت از گزینه L- استفاده کنید. این گزینه تنها اسم فایل‌ها را به چاپ می‌رساند و کاری به خطوط جستجو شده ندارد.

به‌همین ترتیب اگر بخواهید بدانید که چه فایلی یافت شده اما نمی‌خواهید خط را به‌طور کامل ببینید، در این صورت از گزینه l-استفاده کنید.

برایتان نام فایل مهم نیست و می‌خواهید بدانید چه خطوطی یافت شده است؟ از گزینه h- استفاده کنید تا نام فایل در خروجی نشان داده نشود.

به‌صورت پیش‌فرض گرپ خیلی حریصانه به‌دنبال الگوها می‌گردد. یعنی گرپ به‌دنبال الگوها و رشته‌های بلندتری که در آن وجود دارد می‌گردد. بنابراین اگر به گرپ بگویید به‌دنبال Beat بگرد، علاوه بر کلمه‌ ‌Beat، عبارات Beatles, Beaten, Beats و هر چه که با Beat آغاز شود را پیدا می‌کند. اگر به‌دنبال یک عبارت خاص باشید، این گزینه کارایی کمتری دارد.

برای همین برای ایجاد محدودیت، از گزینه w- استفاده کنید تا تنها به‌دنبال همان کلمه خاص بگردد.

وقتی با گرپ کار می‌کنید، گاهی اوقات نیاز دارید برخی از عبارات قبل و بعد را بیاورید. به‌صورت پیش‌فرض گرپ کل خط را می‌آورد. با گزینه‌های زیر می‌توانید خطوط قبلی و بعدی را هم بیاورید. برای متون بعدی A- برای متون قبلی B- و برای کل پاراگراف C- را بزنید.

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

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

newsQrCode
ارسال نظرات در انتظار بررسی: ۰ انتشار یافته: ۰

نیازمندی ها