.ie \n(.g .ds Aq \(aq .el .ds Aq ' .TH sd 1 "sd 1.0.0" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .SH "نام (NAME)" sd \- ابزاری شهودی برای جست‌وجو و جایگزینی متن .ie \n(.g .ds Aq \(aq .el .ds Aq ' .SH "خلاصه دستور (SYNOPSIS)" \fBsd\fR [\fB\-p\fR|\fB\-\-preview\fR] [\fB\-F\fR|\fB\-\-fixed\-strings\fR] [\fB\-n\fR|\fB\-\-max\-replacements\fR] [\fB\-f\fR|\fB\-\-flags\fR] [\fB\-A\fR|\fB\-\-across\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIFIND\fR> <\fIREPLACE_WITH\fR> [\fIFILES\fR] .ie \n(.g .ds Aq \(aq .el .ds Aq ' .SH "توضیحات (DESCRIPTION)" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .SH "گزینه‌ها (OPTIONS)" .TP \fB\-p\fR, \fB\-\-preview\fR نمایش تغییرات در قالبی خوانا برای انسان (احتمال تغییر جزئیات این قالب در آینده وجود دارد) .TP \fB\-F\fR, \fB\-\-fixed\-strings\fR در نظر گرفتن آرگومان‌های FIND و REPLACE_WITH به عنوان رشته‌های متنی صریح .TP \fB\-n\fR, \fB\-\-max\-replacements\fR=\fILIMIT\fR [پیش‌فرض: 0] محدود کردن تعداد جایگزینی‌هایی که می‌تواند در هر فایل رخ دهد. مقدار 0 به معنای جایگزینی‌های نامحدود است .TP \fB\-f\fR, \fB\-\-flags\fR=\fIFLAGS\fR پرچم‌های Regex. می‌توانند با یکدیگر ترکیب شوند (مانند `\-f mc`). c \- حساس به بزرگی و کوچکی حروف e \- غیرفعال‌سازی تطبیق چندخطی i \- غیرحساس به بزرگی و کوچکی حروف m \- تطبیق چندخطی s \- در نظر گرفتن نویسه خط جدید در تطبیق `.` w \- فقط تطبیق کامل کلمات .TP \fB\-A\fR, \fB\-\-across\fR پردازش هر ورودی به‌صورت یکپارچه به جای خط به خط. این گزینه امکان تطبیق الگوها در میان مرزهای خطوط را فراهم می‌سازد، اما حافظه بیشتری مصرف کرده و مانع از پردازش جریانی (streaming) می‌شود .TP \fB\-h\fR, \fB\-\-help\fR چاپ راهنما (مشاهده خلاصه‌ای از آن با \*(Aq\-h\*(Aq) .TP \fB\-V\fR, \fB\-\-version\fR چاپ نسخه .TP <\fIFIND\fR> عبارت باقاعده (regexp) یا رشته متنی (در صورت استفاده از `\-F`) برای جست‌وجو .TP <\fIREPLACE_WITH\fR> محتوایی که با هر مورد منطبق جایگزین می‌شود. به جز در حالت رشته، می‌توانید از مقادیر گروه‌های ضبط‌شده مانند $1، $2 و غیره استفاده کنید .TP [\fIFILES\fR] مسیر فایل(ها). این آرگومان اختیاری است \- sd همچنین می‌تواند از STDIN بخواند. نکته: sd به‌طور پیش‌فرض فایل‌ها را در جا (in\-place) ویرایش می‌کند. برای مشاهده مثال‌ها به مستندات مراجعه کنید. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .SH "وضعیت خروج (EXIT STATUS)" .IP 0 اجرای موفقیت‌آمیز برنامه. .IP 1 اجرای ناموفق برنامه. .IP 101 برنامه با خطای بحرانی (panic) متوقف شد. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .SH "مثال‌ها (EXAMPLES)" .TP حالت رشته صریح (String\-literal) \fB$ echo \*(Aqlots((([]))) of special chars\*(Aq | sd \-F \*(Aq((([])))\*(Aq \*(Aq\*(Aq\fR .br lots of special chars .TP استفاده از Regex؛ حذف فاصله‌های خالی انتهای خطوط \fB$ echo \*(Aqlorem ipsum 23 \*(Aq | sd \*(Aq\\s+$\*(Aq \*(Aq\*(Aq\fR .br lorem ipsum 23 .TP گروه‌های ضبط شماره‌گذاری‌شده (Indexed capture groups) \fB$ echo \*(Aqcargo +nightly watch\*(Aq | sd \*(Aq(\\w+)\\s+\\+(\\w+)\\s+(\\w+)\*(Aq \*(Aqcmd: $1, channel: $2, subcmd: $3\*(Aq\fR .br cmd: cargo, channel: nightly, subcmd: watch .TP جست‌وجو و جایگزینی درون فایل \fB$ sd \*(Aqwindow.fetch\*(Aq \*(Aqfetch\*(Aq http.js\fR .br .TP جست‌وجو و جایگزینی از STDIN و ارسال به STDOUT \fB$ sd \*(Aqwindow.fetch\*(Aq \*(Aqfetch\*(Aq < http.js\fR .br