sd(1) General Commands Manual sd(1)

sd - ابزاری شهودی برای جست‌وجو و جایگزینی متن

sd [-p|--preview] [-F|--fixed-strings] [-n|--max-replacements] [-f|--flags] [-A|--across] [-h|--help] [-V|--version] <FIND> <REPLACE_WITH> [FILES]

نمایش تغییرات در قالبی خوانا برای انسان (احتمال تغییر جزئیات این قالب در آینده وجود دارد)
در نظر گرفتن آرگومان‌های FIND و REPLACE_WITH به عنوان رشته‌های متنی صریح
محدود کردن تعداد جایگزینی‌هایی که می‌تواند در هر فایل رخ دهد. مقدار 0 به معنای جایگزینی‌های نامحدود است
پرچم‌های Regex. می‌توانند با یکدیگر ترکیب شوند (مانند `-f mc`).

c - حساس به بزرگی و کوچکی حروف

e - غیرفعال‌سازی تطبیق چندخطی

i - غیرحساس به بزرگی و کوچکی حروف

m - تطبیق چندخطی

s - در نظر گرفتن نویسه خط جدید در تطبیق `.`

w - فقط تطبیق کامل کلمات

پردازش هر ورودی به‌صورت یکپارچه به جای خط به خط. این گزینه امکان تطبیق الگوها در میان مرزهای خطوط را فراهم می‌سازد، اما حافظه بیشتری مصرف کرده و مانع از پردازش جریانی (streaming) می‌شود
چاپ راهنما (مشاهده خلاصه‌ای از آن با '-h')
چاپ نسخه
<FIND>
عبارت باقاعده (regexp) یا رشته متنی (در صورت استفاده از `-F`) برای جست‌وجو
<REPLACE_WITH>
محتوایی که با هر مورد منطبق جایگزین می‌شود. به جز در حالت رشته، می‌توانید از مقادیر گروه‌های ضبط‌شده مانند $1، $2 و غیره استفاده کنید
[FILES]
مسیر فایل(ها). این آرگومان اختیاری است - sd همچنین می‌تواند از STDIN بخواند.

نکته: sd به‌طور پیش‌فرض فایل‌ها را در جا (in-place) ویرایش می‌کند. برای مشاهده مثال‌ها به مستندات مراجعه کنید.

0
اجرای موفقیت‌آمیز برنامه.
1
اجرای ناموفق برنامه.
101
برنامه با خطای بحرانی (panic) متوقف شد.

حالت رشته صریح (String-literal)
$ echo 'lots((([]))) of special chars' | sd -F '((([])))' ''
lots of special chars
استفاده از Regex؛ حذف فاصله‌های خالی انتهای خطوط
$ echo 'lorem ipsum 23 ' | sd '\s+$' ''
lorem ipsum 23
گروه‌های ضبط شماره‌گذاری‌شده (Indexed capture groups)
$ echo 'cargo +nightly watch' | sd '(\w+)\s+\+(\w+)\s+(\w+)' 'cmd: $1, channel: $2, subcmd: $3'
cmd: cargo, channel: nightly, subcmd: watch
جست‌وجو و جایگزینی درون فایل
$ sd 'window.fetch' 'fetch' http.js
جست‌وجو و جایگزینی از STDIN و ارسال به STDOUT
$ sd 'window.fetch' 'fetch' < http.js
sd 1.0.0