Grep: تفاوت بین نسخه‌ها

از ویکی فارسی اوبونتو
پرش به: ناوبری، جستجو
(صفحه‌ای تازه حاوی «'''Grep''' یک از دستورات خط فرمان است که وظیفه جستجوی یک عبارت را بر عه...» ایجاد کرد)
 
(خنثی‌سازی ویرایش 5765 توسط EsmaeelE (بحث))
 
(۱۷ نسخه‌ٔ میانی ویرایش شده توسط ۵ کاربر نشان داده نشده)
سطر ۱: سطر ۱:
'''Grep''' یک از دستورات [[خط فرمان|خط فرمان]] است که وظیفه جستجوی یک عبارت را بر عهده دارد. به کمک این دستور میتوان در میان [[پردازش|پردازش های]] در حال انجام سیستم و یا در یک فایل متنی یک عبارت را جستجو کرد.
+
'''GNU Grep''' یک [[Free Software|نرم‌افزار آزاد]] پرکاربرد در [[CLI|خط فرمان]] است که می‌تواند یک عبارت را در میان یک پروندهٔ متنی جست‌وجو کند.
  
==عملکرد==
+
این برنامه خطوطی از پرونده را که با الگو تطبیق داده شده‌اند را چاپ می‌کند.
به کمک این دستور در دایرکتوری <code> /etc/passwd</code> به دنبال کاربری به نام <code> amir</code> میگردیم.
 
  
<pre>
 
$ grep amir /etc/passwd
 
</pre>
 
  
خروجی این دستور میتواند به شکل زیر باشد :
+
== کارکرد ==
 +
پروندهٔ مورد جست‌وجو را می‌توان به صورت مستقیم یا از [[stdin|ورودی استاندارد]] به این برنامه وارد کرد. برای مثال، هر دو شکل زیر، نحوهٔ جست‌وجوی عبارات شامل {{ic|iran}} را در پروندهٔ {{ic|file}} نمایش می‌دهد:
 +
{{bc|
 +
$ grep "iran" file
 +
# or
 +
$ cat file > grep "iran"
 +
}}
  
<pre>
+
{{ic|-i}} : با این انتخاب می‌توان به جست‌وجوی گسترده‌تری پرداخت. برای مثال، دستور زیر می‌تواند خطوطی که شامل {{ic|iran}} یا {{ic|IRAN}} باشد را هم نمایش دهد. یعنی تمام ترکیب‌هایی که در آن، عبارت مورد نظر یافت شود را، بدون در نظر گرفتن بزرگی یا کوچکی حرف‌ها یا مستقل بودن عبارت، نشان می‌دهد.
amir:x:1000:1000:amir,,,:/home/amir:/bin/ksh
+
{{bc | $ grep -i "iran" file}}
</pre>
 
 
 
در حالت پیش فرض اگر به کمک این دستور در یک فایل جستجو نمایید تمام عباراتی که بخشی از آن شامل عبارت مورد نظر ما باشد را نمایش میدهد
 
 
 
 
 
<pre>
 
$ grep "iran" file
 
</pre>
 
خروجی این دستور میتواند <code>iran</code> یا <code>iranian</code> یا <code>MyIRAN</code> باشد.
 
  
در حالیکه به کمک [[Switch|سوئیچ]] <code>w-</code> میتوان به جستجوی دقیق پرداخت
 
  
 +
{{ic|-w}} : با این انتخاب می‌توان به جست‌وجوی دقیق پرداخت. خروجی دستور زیر، خطوطی را نمایش می‌دهد که عبارت {{ic|iran}} را به صورت مستقل دارند، نه عباراتی که شامل این واژه باشند:
 +
{{bc | $ grep -w "iran" file}}
  
<pre>
+
{{ic|-v}} : با این انتخاب می‌توان عبارت منطبق را وارونه کرد.
$ grep -w "iran" file
+
خروجی دستور زیر، خطوطی را نمایش می‌دهد که عبارت {{ic|iran}} را شامل '''نمی‌شوند'''،
</pre>
+
{{bc | $ grep -v "iran" file}}
  
خروجی این دستور خطوطی را نمایش می دهد که عبارت <code>iran</code> را به صورت مستقل دارند نه عباراتی که شامل این واژه باشند.
+
= راهنما =
 +
برای مطالعهٔ جزئیات بیش‌تر و راهنمای برنامه، می‌توان [[Man|صفحهٔ راهنمای]] برنامه را مشاهده کرده و یا از انتخاب {{ic|--help}} در [[CLI|خط فرمان]] استفاده کنید.
 +
{{bc|
 +
$ man grep
 +
$ grep --help
 +
}}
  
[[رده:جستجو]]
+
[[رده:خط فرمان]]
 +
[[رده:گنو]]

نسخهٔ کنونی تا ‏۲۶ شهریور ۱۴۰۰، ساعت ۱۳:۱۹

GNU Grep یک نرم‌افزار آزاد پرکاربرد در خط فرمان است که می‌تواند یک عبارت را در میان یک پروندهٔ متنی جست‌وجو کند.

این برنامه خطوطی از پرونده را که با الگو تطبیق داده شده‌اند را چاپ می‌کند.


کارکرد

پروندهٔ مورد جست‌وجو را می‌توان به صورت مستقیم یا از ورودی استاندارد به این برنامه وارد کرد. برای مثال، هر دو شکل زیر، نحوهٔ جست‌وجوی عبارات شامل iran را در پروندهٔ file نمایش می‌دهد:

$ grep "iran" file
# or
$ cat file > grep "iran"


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

 $ grep -i "iran" file


-w : با این انتخاب می‌توان به جست‌وجوی دقیق پرداخت. خروجی دستور زیر، خطوطی را نمایش می‌دهد که عبارت iran را به صورت مستقل دارند، نه عباراتی که شامل این واژه باشند:

 $ grep -w "iran" file


-v : با این انتخاب می‌توان عبارت منطبق را وارونه کرد. خروجی دستور زیر، خطوطی را نمایش می‌دهد که عبارت iran را شامل نمی‌شوند،

 $ grep -v "iran" file

راهنما

برای مطالعهٔ جزئیات بیش‌تر و راهنمای برنامه، می‌توان صفحهٔ راهنمای برنامه را مشاهده کرده و یا از انتخاب --help در خط فرمان استفاده کنید.

$ man grep
$ grep --help