ایستگاه های کاری آنلاین OnWorks Linux و Windows

لوگو

میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

grep استفاده

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


تا الان استفاده کردیم grep استفاده با رشته های ثابت، مانند:


[me@linuxbox ~]$ ls /usr/bin | grep zip

[me@linuxbox ~]$ ls /usr/bin | grep zip


با این کار تمام فایل‌های موجود در فهرست فهرست می‌شوند / usr / bin دایرکتوری که نام آن حاوی زیر رشته “zip” است.

La grep استفاده برنامه گزینه ها و آرگومان ها را به این صورت می پذیرد:

grep [گزینه های] regex [فایل...]

جایی که regex یک عبارت منظم است

در اینجا لیستی از موارد رایج استفاده می شود grep استفاده گزینه ها:


جدول 19-1: گزینه های grep


توضیحات گزینه

توضیحات گزینه

-i مورد نادیده گرفته شود. بین حروف بزرگ و کوچک تمایز قائل نشوید. همچنین ممکن است مشخص شود --نادیده گرفتن مورد.


تصویر

-v مطابقت معکوس به طور معمول، grep استفاده خطوطی را چاپ می کند که حاوی یک مسابقه هستند.

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


تصویر

-c چاپ تعداد موارد منطبق (یا غیر منطبق در صورت -v گزینه نیز مشخص شده است) به جای خود خطوط. همچنین ممکن است مشخص شود --شمردن.


تصویر

-l به جای خود خطوط، نام هر فایلی که حاوی یک مسابقه است را چاپ کنید. همچنین ممکن است مشخص شود --فایلها-با-مطابقات.


تصویر

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


تصویر

-n پیشوند هر خط منطبق با شماره خط داخل فایل. همچنین ممکن است --line-number مشخص شود.


تصویر

-h برای جستجوی چند فایل، خروجی نام فایل ها را متوقف کنید. همچنین ممکن است مشخص شود -- بدون نام فایل.


تصویر


به منظور کاوش کاملتر grep استفاده، بیایید چند فایل متنی برای جستجو ایجاد کنیم:

grep استفاده


[me@linuxbox ~]$ ls /bin > dirlist-bin.txt [me@linuxbox ~]$ ls /usr/bin > dirlist-usr-bin.txt [me@linuxbox ~]$ ls /sbin > dirlist-sbin.txt [me@linuxbox ~]$ ls /usr/sbin > dirlist-usr-sbin.txt [me@linuxbox ~]$ ls dirlist*.txt

dirlist-bin.txt dirlist-sbin.txt dirlist-usr-sbin.txt dirlist-usr-bin.txt

[me@linuxbox ~]$ ls /bin > dirlist-bin.txt [me@linuxbox ~]$ ls /usr/bin > dirlist-usr-bin.txt [me@linuxbox ~]$ ls /sbin > dirlist-sbin.txt [me@linuxbox ~]$ ls /usr/sbin > dirlist-usr-sbin.txt [me@linuxbox ~]$ ls dirlist*.txt

dirlist-bin.txt dirlist-sbin.txt dirlist-usr-sbin.txt dirlist-usr-bin.txt


ما می‌توانیم یک جستجوی ساده در لیست فایل‌هایمان مانند این انجام دهیم:



[me@linuxbox ~]$ grep bzip dirlist*.txt

dirlist-bin.txt:bzip2 dirlist-bin.txt:bzip2recover

[me@linuxbox ~]$ grep bzip dirlist*.txt

dirlist-bin.txt:bzip2 dirlist-bin.txt:bzip2recover


در این مثال ، grep استفاده تمام فایل های فهرست شده را برای رشته جستجو می کند bzip و دو منطبق را، هر دو در فایل پیدا می کند dirlist-bin.txt. اگر ما فقط به فهرست فایل‌هایی که حاوی موارد منطبق هستند علاقه مند بودیم، می‌توانیم آن را مشخص کنیم. -l گزینه:



[me@linuxbox ~]$ grep -l bzip dirlist*.txt

dirlist-bin.txt

[me@linuxbox ~]$ grep -l bzip dirlist*.txt

dirlist-bin.txt


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



[me@linuxbox ~]$ grep -L bzip dirlist*.txt

dirlist-sbin.txt dirlist-usr-bin.txt dirlist-usr-sbin.txt

[me@linuxbox ~]$ grep -L bzip dirlist*.txt

dirlist-sbin.txt dirlist-usr-bin.txt dirlist-usr-sbin.txt


برترین سیستم عامل Cloud Computing در OnWorks: