فهرست سرفصل‌های Bash
خانه (Home) مقدمه (Intro) شروع به کار (Get Started) فرمان ها (Commands) فهرست فایل ها (List (ls)) تغییر پوشه (Change Dir (cd)) نمایش مسیر (Print Dir (pwd)) چاپ متن (Echo (echo)) ادغام فایل ها (Concatenate (cat)) کپی کردن (Copy (cp)) جابه جایی (Move (mv)) حذف (Remove (rm)) ساخت/به روزرسانی زمان (Timestamp (touch)) ساخت پوشه (Make Dir (mkdir)) راهنما (Manual (man)) نام مستعار (Alias) جستجوی متن (Search Text (grep)) اسکن الگو (Pattern Scan (awk)) ویرایشگر جریان (Stream Editor (sed)) برش بخش ها (Remove Section (cut)) مرتب سازی خطوط (Sort Lines (sort)) نمایش انتها (View End (tail)) نمایش ابتدا (View Start (head)) وضعیت فرایندها (Process Status (ps)) فهرست فرایندها (List Processes (top)) فضای دیسک (Disk Space (df)) مصرف پوشه ها (Directory Usage (du)) مصرف حافظه (Memory Usage (free)) پایان دادن (Terminate (kill)) زمان روشن بودن (Uptime) پینگ (Ping) انتقال URL (URL Transfer (curl)) دانلودکننده (Downloader (wget)) اتصال راه دور (Remote Connect (ssh)) کپی امن (Secure Copy (scp)) همگام سازی فایل ها (File Sync (rsync)) فشرده سازی (Compress (zip)) استخراج (Extract (unzip)) بایگانی TAR (TAR Archive) مالکیت (Ownership) تغییر مجوزها (Modify (chmod)) تغییر مالکیت (Ownership (chown)) تغییر گروه (Group (chgrp)) سینتکس (Syntax) اسکریپت (Script) متغیرها (Variables) انواع داده (Data Types) عملگرها (Operators) اگر…وگرنه (If...Else) حلقه ها (Loops) توابع (Functions) آرایه ها (Arrays) زمان بندی (Schedule (cron)) تمارین (Exercises) آزمون (Quiz) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
مستندات زبان Bash

Bash — جستجوی متن (Search Text (grep))

آخرین بروزرسانی: 1404/08/17

جستجوی متن (Search Text (grep))

می خواهی سریع متن پیدا کنی؟ با «دستور grep» می شود الگو جستجو کرد. «الگو (Pattern)» یعنی نوشته ای که به دنبالش هستی. مثل جستجوی نام دوستت در فهرست کلاس.

شروع سریع با grep

برای جستجو در یک فایل، الگو و نام فایل را بنویس.

grep 'shell' file.txt
A shell is a text-based interface that lets you talk to your computer.
There are different types of shells. Bash (Bourne Again SHell)

مشاهده در ادیتور

گزینه های پرکاربرد grep

  • -i : جستجو بدون حساسیت به حروف.
  • -r : جستجو در پوشه ها و زیرپوشه ها.
  • -v : نمایش خط های ناهماهنگ با الگو.

نادیده گرفتن بزرگی/کوچکی حروف (-i)

با این گزینه، shell و Shell یکسان می شوند. خیال ات راحت باشد.

grep -i 'shell' file.txt
Understanding Shells
A shell is a text-based interface that lets you talk to your computer.
There are different types of shells. Bash (Bourne Again SHell)

مشاهده در ادیتور

جستجوی بازگشتی پوشه ها (-r)

همه فایل ها بررسی می شوند. مثل جستجوی همگانی در گوشی.

grep -r 'search_term' /home/user/my_directory
/home/user/.my_secret_file:A shell is a text-based interface that lets you talk to your computer.
/home/user/.my_secret_file:There are different types of shells. Bash (Bourne Again SHell)
/home/user/.my_secret_file:Bourne Shell (sh): The original Unix shell, developed by Stephen Bourne.
/home/user/copy_of_my_file.txt:A shell is a text-based interface that lets you talk to your computer.
/home/user/copy_of_my_file.txt:There are different types of shells. Bash (Bourne Again SHell)
/home/user/myfolder/my_file.txt:A shell is a text-based interface that lets you talk to your computer.
/home/user/myfolder/my_file.txt:There are different types of shells. Bash (Bourne Again SHell)
/home/user/my_file.txt:A shell is a text-based interface that lets you talk to your computer.
/home/user/my_file.txt:There are different types of shells. Bash (Bourne Again SHell)

مشاهده در ادیتور

برعکس کردن نتیجه ها (-v)

این گزینه خط های ناهماهنگ را نشان می دهد. مثل فیلتر معکوس.

grep -v 'shell' my_file.txt
Understanding Shells

مشاهده در ادیتور

الگوهای پیشرفته با عبارات منظم

«عبارت منظم (Regex)» الگوی دقیق تری می دهد. آغاز خط با حرف را بیاب.

grep '^[A-Za-z]' my_file.txt
Understanding Shells
A shell is a text-based interface that lets you talk to your computer.
There are different types of shells. Bash (Bourne Again SHell)
is popular because it's powerful and easy to use.

مشاهده در ادیتور

نکته: اگر خروجی زیاد است، آن را با less ببین. پیمایش راحت تر می شود.

تمرین گام به گام

  1. یک فایل متنی انتخاب کن. مثلاً file.txt.
  2. یک الگو تعیین کن. مثلاً shell.
  3. اجرا کن: grep 'shell' file.txt.
  4. با -i حساسیت حروف را بردار.
  5. با -r کل پوشه را جستجو کن.

برای یادگیری بیشتر، نام مستعار را ببین. همچنین awk برای پردازش متن عالی است. همین صفحه جستجوی متن با grep را نشان گذاری کن.

جمع بندی سریع

  • grep متن را با الگو پیدا می کند.
  • -i حروف را یکسان در نظر می گیرد.
  • -r همه پوشه ها را می گردد.
  • -v خط های ناهماهنگ را نشان می دهد.
  • Regex برای الگوهای دقیق تر است.