| sd(1) | General Commands Manual | sd(1) |
نام (NAME)
sd - ابزاری شهودی برای جستوجو و جایگزینی متن
خلاصه دستور (SYNOPSIS)
sd [-p|--preview] [-F|--fixed-strings] [-n|--max-replacements] [-f|--flags] [-A|--across] [-h|--help] [-V|--version] <FIND> <REPLACE_WITH> [FILES]
توضیحات (DESCRIPTION)
گزینهها (OPTIONS)
- -p, --preview
- نمایش تغییرات در قالبی خوانا برای انسان (احتمال تغییر جزئیات این قالب در آینده وجود دارد)
- -F, --fixed-strings
- در نظر گرفتن آرگومانهای FIND و REPLACE_WITH به عنوان رشتههای متنی صریح
- -n, --max-replacements=LIMIT [پیشفرض: 0]
- محدود کردن تعداد جایگزینیهایی که میتواند در هر فایل رخ دهد. مقدار 0 به معنای جایگزینیهای نامحدود است
- -f, --flags=FLAGS
- پرچمهای Regex.
میتوانند
با یکدیگر
ترکیب شوند
(مانند `-f mc`).
c - حساس به بزرگی و کوچکی حروف
e - غیرفعالسازی تطبیق چندخطی
i - غیرحساس به بزرگی و کوچکی حروف
m - تطبیق چندخطی
s - در نظر گرفتن نویسه خط جدید در تطبیق `.`
w - فقط تطبیق کامل کلمات
- -A, --across
- پردازش هر ورودی بهصورت یکپارچه به جای خط به خط. این گزینه امکان تطبیق الگوها در میان مرزهای خطوط را فراهم میسازد، اما حافظه بیشتری مصرف کرده و مانع از پردازش جریانی (streaming) میشود
- -h, --help
- چاپ راهنما (مشاهده خلاصهای از آن با '-h')
- -V, --version
- چاپ نسخه
- <FIND>
- عبارت باقاعده (regexp) یا رشته متنی (در صورت استفاده از `-F`) برای جستوجو
- <REPLACE_WITH>
- محتوایی که با هر مورد منطبق جایگزین میشود. به جز در حالت رشته، میتوانید از مقادیر گروههای ضبطشده مانند $1، $2 و غیره استفاده کنید
- [FILES]
- مسیر
فایل(ها).
این
آرگومان
اختیاری
است - sd
همچنین
میتواند
از STDIN بخواند.
نکته: sd بهطور پیشفرض فایلها را در جا (in-place) ویرایش میکند. برای مشاهده مثالها به مستندات مراجعه کنید.
وضعیت خروج (EXIT STATUS)
- 0
- اجرای موفقیتآمیز برنامه.
- 1
- اجرای ناموفق برنامه.
- 101
- برنامه با خطای بحرانی (panic) متوقف شد.
مثالها (EXAMPLES)
- حالت رشته صریح (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 |