فهرست سرفصل‌های 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 — ویرایشگر جریان (Stream Editor (sed))

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

ویرایشگر جریان (Stream Editor (sed))

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

شروع کار با sed

sed تغییرات متنی را روی ورودی انجام می دهد. مثال ها از فایل example_text.txt استفاده می کنند.

Hello World
Line 1
Line 2

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

جایگزینی ساده متن

برای جایگزینی اولین وقوع، از الگوی s/قدیم/جدید/ استفاده کن.

sed 's/World/Bash/' example_text.txt
Hello Bash
Line 1
Line 2

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

گزینه های مهم sed

  • -i: ویرایش مستقیم فایل درجا.
  • -e: افزودن اسکریپت به دستورات اجرایی.
  • -n: عدم چاپ خودکار خطوط.
  • -r: استفاده از عبارات منظم پیشرفته.
  • -f: خواندن اسکریپت از فایل.
  • -l: تعیین طول خط برای دستور l.

ویرایش درجا با -i

با -i مستقیماً فایل را تغییر بده. بدون آن، خروجی روی ترمینال می آید.

sed -i 's/World/Bash/g' example_text.txt
cat example_text.txt
Hello Bash
Line 1
Line 2

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

کنترل چاپ با -n و p

با -n چاپ خودکار قطع می شود. سپس با p فقط خطوط دلخواه چاپ می شوند.

sed -n 's/World/Bash/p' example_text.txt
Hello Bash

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

عبارات منظم پیشرفته با -r

با -r الگوهای قوی تر داری. اینجا World یا Line با Hello جایگزین می شود.

sed -r 's/(World|Line)/Hello/g' example_text.txt
Hello Hello
Hello 1
Hello 2

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

اجرای اسکریپت از فایل با -f

می توانی دستورات را در فایل ذخیره کنی و اجرا کنی.

# محتویات script.sed
s/World/Bash/g

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

sed -f script.sed example_text.txt
Hello Bash
Line 1
Line 2

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

تنظیم طول خط با -l

با -l خروجی دستور l شکسته و علامت $ پایان خط نشان داده می شود.

sed -l 10 'l' example_text.txt
Hello Wor\
ld$
Hello World
Line 1$
Line 1
Line 2$
Line 2

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

ذخیره خروجی در فایل جدید

اگر نمی خواهی فایل اصلی را تغییر دهی، خروجی را ریدایرکت کن.

sed 's/World/Bash/' example_text.txt > new_example_text.txt
cat new_example_text.txt
Hello Bash
Line 1
Line 2

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

پردازش پیشرفته متن

می توانی پیشوند به هر خط اضافه کنی. این کار مرتب سازی گزارش را ساده می کند.

sed 's/^/Prefix: /' example_text.txt
Prefix: Hello World
Prefix: Line 1
Prefix: Line 2

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

نکته: اگر خطا دیدی، نگارش دستور را بررسی کن. مسیر فایل را هم چک کن.

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

  1. یک فایل متنی ساده آماده کن.
  2. با s/قدیم/جدید/ یک جایگزینی انجام بده.
  3. با -i تغییر را درجا ذخیره کن.
  4. با -n و p چاپ را کنترل کن.
  5. اسکریپت را در فایل بنویس و با -f اجرا کن.

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

جمع بندی سریع

  • sed ویرایش سریع متن روی جریان است.
  • -i برای ویرایش درجا استفاده می شود.
  • -n و p چاپ دلخواه را می دهند.
  • -r الگوهای پیشرفته را فعال می کند.
  • -f اسکریپت ها را از فایل اجرا می کند.