انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: دستور در شل (حل شد ) grep  (دفعات بازدید: 819 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین learner:~$

  • Hero Member
  • *
  • ارسال: 816
  • جنسیت : پسر
  • روزی روز گاری در گنو/لینوکس
دستور در شل (حل شد ) grep
« : 20 تیر 1402، 10:32 ب‌ظ »
سلام.
من با دستور grep به مشکل خوردم ](*,) ](*,) ](*,) نه از لحاظ نرم افزاری یا سخت افزاری بلکه با آپشن های زیادش.
به عنوان مثال من در دستور  xargs میخوام آپشن -I  رو ببینم؛درسته که با دستور xargs --help یا man xargs میشه این کار رو کرد اما اینطوری یک لیست بلند بالا میده که من اینو نمی خوام.
مد نظر من تقریبا چنین چیزی هست:
man xargs | grep "-I"




اما خروجی به این شکل هست :( :( :

sage: grep [OPTION]... PATTERNS [FILE]...
Try 'grep --help' for more information.




ممنون میشم یکی کامل توضیح بده ( آپشن ها و...)

نکته: ایا ما برای این کار نیاز با  grep  داربم یا  باید از دستور های egrep;fgrep و ... استفاده کنیم؟؟
ممنون میشم راهنمایی کنید.
« آخرین ویرایش: 21 تیر 1402، 04:42 ب‌ظ توسط learner:~$ »
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین 🇬🇧بریتانیای کبیر🇬🇧

  • High Hero Member
  • *
  • ارسال: 2611
  • جنسیت : پسر
  • GOD SAVE THE KING/QUEEN
پاسخ : دستور grep
« پاسخ #1 : 20 تیر 1402، 10:41 ب‌ظ »
الان جزوه دستم نیست بگم برای xargs , grep و less که دستور های خیلی ساده ایهم (xargs کمی گیرو گور داره)هستن بری کدوم قسمت اون آموزشو ببینی.
man صفحه هارو با less بالا میاره و در less نمیتونی از grep استفاده کنی ولی آره با help-- میشه از grep استفاده کرد.
xargs --help | grep '-l' --colour به دو روش برو تو less ,یا همون man  جست و جو کن.
/-lیا
?-lبا n و شیفت + n هم میتونی بری بلا پایین فقط این دو روش یکی هستن فقط بالا پایینشون فرق داره و من یادم نیست کدوم از بالاست یا پایین. با b یک صفحه بالا، با فاصله یک صفحه پایین.
باctrl + g هم وضعیتو نمایش و اسم فایلو نشون میده. با h هم راهنما.
با
 less -S fileهم کاری میکنی که در less خطوط دراز به پایین نرن و قابل فهم باشن.
« آخرین ویرایش: 20 تیر 1402، 11:06 ب‌ظ توسط 🇬🇧United Kingdom🇬🇧 »
🇬🇧🏴󠁧󠁢󠁥󠁮󠁧󠁿🏴󠁧󠁢󠁷󠁬󠁳󠁿🏴󠁧󠁢󠁳󠁣󠁴󠁿🇬🇧

آنلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1261
  • جنسیت : پسر
پاسخ : دستور در شلgrep
« پاسخ #2 : 21 تیر 1402، 12:24 ق‌ظ »
می‌تونید در manpage با میانبرهای vim جستجو کنید.

برای جستجوی انتخاب I-

/-I

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1317
پاسخ : دستور در شلgrep
« پاسخ #3 : 21 تیر 1402، 07:36 ق‌ظ »
از دستور زیر می تونید استفاده کنید:

grep -e "-I"

آفلاین learner:~$

  • Hero Member
  • *
  • ارسال: 816
  • جنسیت : پسر
  • روزی روز گاری در گنو/لینوکس
پاسخ : دستور در شلgrep
« پاسخ #4 : 21 تیر 1402، 08:27 ق‌ظ »
از دستور زیر می تونید استفاده کنید:

grep -e "-I"
آپشن -e چیکار میکنه؟؟؟ میشه توضیح بدید؟؟ من رفتم همین آپشن رو خوندم اما متوجه نشدم
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5125
  • جنسیت : پسر
پاسخ : دستور در شلgrep
« پاسخ #5 : 21 تیر 1402، 04:29 ب‌ظ »
اگه یه صفحع man رو باز کردید می‌تونید یه علامت / بذارید و متنی رو بنویسید که دنبالش می‌گردید.
با فشار دادن n می‌تونید نتیجه بعدی جست‌وجو رو ببینید و با N نتیجه قبلی رو.

آپشن -e چیکار میکنه؟؟؟ میشه توضیح بدید؟؟ من رفتم همین آپشن رو خوندم اما متوجه نشدم

باعث میشه grep سعی نکنه I- رو به عنوان یه آپشن تفسیر کنه. اون چیزی که شما توی ارسال اول نوشتید باعث میشه grep اون I- رو به عنوان یه آپشن در نظر بگیره نه چیزی که باید دنبالش بگرده.

اینجوری هم میشه از grep برای پیدا کردن I- استفاده کرد.
man xargs | grep -- '-I'

اگه صفحات man طولانی هستند و بیشتر می‌]واهید چنتا مثال کاربردی ببینید، tldr هست.
 
با دستور apropos هم می‌تونید دنبال یه عبارت بین اسم و توضیح کوتاه صفحات man بگردید و ببینید کدوم صفحات شامل این عبارت هست.
میدونید که زکات علم نشر آن است

آفلاین learner:~$

  • Hero Member
  • *
  • ارسال: 816
  • جنسیت : پسر
  • روزی روز گاری در گنو/لینوکس
پاسخ : دستور در شلgrep
« پاسخ #6 : 21 تیر 1402، 04:41 ب‌ظ »
خیلی ممنونم
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1317
پاسخ : دستور در شلgrep
« پاسخ #7 : 22 تیر 1402، 06:46 ق‌ظ »
از دستور زیر می تونید استفاده کنید:

grep -e "-I"
آپشن -e چیکار میکنه؟؟؟ میشه توضیح بدید؟؟ من رفتم همین آپشن رو خوندم اما متوجه نشدم

از این دستور می تونید استفاده کنید  ;D

man grep | grep -A2 -we "-e"


       -e PATTERNS, --regexp=PATTERNS[code]
              Use  PATTERNS  as  the  patterns.   If this option is used multiple times or is combined with the -f (--file) option,
              search for all patterns given.  This option can be used to protect a pattern beginning with “-”.
--
              Obtain patterns from FILE, one per line.  If this option is used multiple times or is combined with the -e (--regexp)
              option, search for all patterns given.  The empty file contains zero patterns, and therefore matches nothing.


[/code]

آفلاین learner:~$

  • Hero Member
  • *
  • ارسال: 816
  • جنسیت : پسر
  • روزی روز گاری در گنو/لینوکس
پاسخ : دستور در شل (حل شد ) grep
« پاسخ #8 : 22 تیر 1402، 10:13 ق‌ظ »
اینم عالیه
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.