| NIMGREP(1) | دستورات کاربر | NIMGREP(1) |
نام (NAME)
nimgrep - ابزار جستجو و جایگزینی مبتنی بر نیم
توضیحات (DESCRIPTION)
nimgrep - ابزار جستجو و جایگزینی Nim Grep، نسخه 2.0.0
- (c) 2012-2020 Andreas Rumpf
نحوه استفاده:
* برای جستجو:
- nimgrep [options] PATTERN [(FILE/DIRECTORY)*/-]
* برای جایگزینی:
- nimgrep [options] PATTERN --replace REPLACEMENT (FILE/DIRECTORY)*/-
* برای فهرست کردن نام فایلها:
- nimgrep [options] --filenames [PATTERN] [(FILE/DIRECTORY)*]
آرگومانهای موضعی، از چپ به راست: 1) PATTERN یا Regex (پیشفرض) است یا اگر `--peg` مشخص شود، Peg است.
- هنگام تعیین `--stdin`، از PATTERN و REPLACEMENT باید صرفنظر شود.
2) آرگومان REPLACEMENT از نشانهگذاریهای `$1` و `$#` برای گروههای گرفتهشده در PATTERN پشتیبانی میکند.
- .. خطر:: حالت `--replace` درخواست تأیید **نمیکند**
- مگر آنکه `--confirm` مشخص شده باشد!
3) آرگومانهای پایانی، فهرستی از مسیرها (FILE/DIRECTORY) یا یک علامت منفی مستقل `-` یا نامشخص (خالی) هستند:
- * در صورت خالی بودن، دایرکتوری جاری `.` در نظر گرفته میشود (نه با `--replace`)
- .. توجه:: بنابراین اگر هیچ FILE/DIRECTORY/`-` مشخص نشود، nimgrep
- پایپ را **نمیخواند**، بلکه فایلها را در دایرکتوری جاری جستجو میکند!
- * `-`: بافر یکبار از ورودی استاندارد (stdin) خوانده میشود: ورودی پایپ یا ترمینال؛
- در حالت `--replace` نتیجه به stdout هدایت میشود؛ با `--stdin`، `--filenames` یا `--confirm` سازگار نیست
- برای هر DIRECTORY دادهشده، nimgrep تنها فایلهای مستقیم آن را بدون پیمایش زیردایرکتوریها جستجو میکند، مگر اینکه `--recursive` مشخص شده باشد.
در حالت جایگزینی، برای جلوگیری از آسیب احتمالی، هر ۳ آرگومان موضعی الزامی هستند.
گزینهها (OPTIONS)
* حالت عملکرد (Mode of operation):
- --find, -f
- یافتن PATTERN (پیشفرض)
- --replace, -!
- جایگزینی PATTERN با REPLACEMENT و بازنویسی فایلها
- --confirm
- تأیید هر رخداد/جایگزینی؛ امکان انصراف در هر زمان بدون تغییر فایل وجود دارد
- --filenames
- صرفاً فهرست کردن نام فایلها. یک PATTERN برای یافتن آن در نام فایلها (نه در محتوای فایل) ارائه دهید یا با الگوی خالی اجرا کنید تا تمام فایلها فهرست شوند:
- nimgrep --filenames
- # در دایرکتوری جاری
- nimgrep --filenames "" DIRECTORY
- # توجه: الگوی خالی "" تمام فایلهای موجود در DIRECTORY را فهرست میکند
* تفسیر الگوها (Interpret patterns):
- --peg
- الگوهای PATTERN و PAT از نوع Peg هستند
- --re
- الگوهای PATTERN و PAT عبارات باقاعده (Regex) هستند (پیشفرض)
- --rex, -x
- استفاده از نحو گسترشیافته (extended) برای عبارت باقاعده به طوری که فاصلههای خالی نادیده گرفته شوند
- --word, -w
- تطابقها باید دارای مرز کلمه باشند (برای Peg دارای اشکال است!)
- --ignoreCase, -i
- عدم حساسیت به بزرگی و کوچکی حروف در PATTERN و PAT
- --ignoreStyle, -y
- عدم حساسیت به سبک نگارش در PATTERN و PAT
- .. توجه:: PATTERN و الگوهای PAT (گزینههای دیگر را در زیر ببینید) همگی همزمان یا Regex یا Peg هستند و گزینههای `--rex`، `--word`، `--ignoreCase` و `--ignoreStyle` بر تمام آنها اعمال میشوند.
* پیمایش فایلسیستم (File system walk):
- --recursive, -r
- پردازش بازگشتی دایرکتوریها
- --follow
- دنبال کردن تمام پیوندهای نمادین هنگام پردازش بازگشتی
- --sortTime, -s[:asc|desc]
- مرتبسازی فایلها بر اساس زمان آخرین تغییر (پیشفرض: خاموش): صعودی (فایلهای جدیدتر در انتها میآیند) یا نزولی
* فیلتر کردن فایلها (بر مبنای مسیرهای فایلسیستم):
- .. نکته:: به جای `not` میتوانید صرفاً `n` را برای گزینههای منفی زیر تایپ کنید.
- --ex[tensions]:EX1|EX2|...
- تنها جستجوی فایلهای دارای پسوند(های) دادهشده؛ مقدار خالی (`--ex`) به معنی فایلهای فاقد پسوند است
- --notex[tensions]:EX1|EX2|...
- مستثنی کردن فایلهای دارای پسوند(های) مشخصشده؛ استفاده از مقدار خالی برای نادیده گرفتن فایلهای بدون پسوند (مانند برخی فایلهای باینری)
- --fi[lename]:PAT
- تنها جستجوی فایلهایی که نام آنها با الگوی PAT تطابق دارد
- --notfi[lename]:PAT
- نادیده گرفتن فایلهایی که نام آنها با الگوی PAT تطابق دارد
- --di[rname]:PAT
- انتخاب فایلهایی که در مسیر آنها نام دایرکتوری با الگوی PAT مطابقت دارد
- --notdi[rname]:PAT
- عدم ورود به دایرکتوریهایی که نام آنها (نه کل مسیر) با الگوی PAT مطابقت دارد
- --dirp[ath]:PAT
- تنها انتخاب فایلهایی که کل مسیر نسبی دایرکتوری آنها با الگوی PAT تطابق دارد
- --notdirp[ath]:PAT
- نادیده گرفتن فایلهایی که کل مسیر نسبی دایرکتوری آنها با الگوی PAT تطابق دارد
* فیلتر کردن فایلها (بر مبنای محتوای فایل):
- --inF[ile]:PAT
- انتخاب فایلهای حاوی یک تطابق از PAT (نمایش داده نمیشود)
- --notinF[ile]:PAT
- نادیده گرفتن فایلهای حاوی یک تطابق از PAT
- --bin:on|off|only
- پردازش فایلهای باینری؟ (تشخیص با 0\ در ۱ کیلوبایت اول بایتها) (پیشفرض: on - رفتار یکسان با فایلهای باینری و متنی)
- --text, -t
- تنها پردازش فایلهای متنی، معادل `--bin:off`
* فیلتر کردن تطابقها:
- --inC[ontext]:PAT
- تنها انتخاب تطابقهایی که حاوی یک تطابق از PAT در بافت متنی پیرامون خود هستند (چندخطی با `-c`، `-a`، `-b`)
- --notinC[ontext]:PAT
- نادیده گرفتن تطابقهایی که فاقد تطابق PAT در بافت متنی پیرامون خود هستند
* نمایش نتایج (Represent results):
- --nocolor
- ارائه خروجی بدون هیچگونه رنگ
- --color[:on]
- اعمال اجباری رنگ حتی در صورت هدایت خروجی (پیشفرض: خودکار)
- --colorTheme:THEME
- انتخاب THEME رنگی از میان `simple` (پیشفرض)، `bnw` (سیاه و سفید)، `ack`، یا `gnu` (ابزار GNU grep)
- --count
- تنها چاپ تعداد تطابقها برای فایلهای منطبقشده
- --context:N, -c:N
- چاپ N خط از بافت متنی پیش از هر تطابق و N خط از بافت متنی پس از آن (مقدار پیشفرض N: 0)
- --afterContext:N, -a:N
- چاپ N خط از بافت متنی پس از هر تطابق
- --beforeContext:N, -b:N
- چاپ N خط از بافت متنی پیش از هر تطابق
- --group, -g
- گروهبندی تطابقها بر پایه فایل
- --newLine, -l
- نمایش هر خط منطبق با شروع از یک خط جدید
- --cols[:N]
- محدود کردن حداکثر ستونها/عرض خطوط خروجی نمایش داده شده از فایلها به N کاراکتر، و برش سرریزها (پیشفرض: خاموش)
- --cols:auto, -%
- محاسبه تعداد ستونها بر اساس عرض ترمینال برای هر خط
- --onlyAscii, -@
- تنها نمایش کاراکترهای اسکی لاتین قابل چاپ 0x20-0x7E جایگزینیها: 0 -> ^@, 1 -> ^A, ... 0x1F -> ^_,
- 0x7F -> '7F, ..., 0xFF -> 'FF
* متفرقه (Miscellaneous):
- --threads:N, -j:N
- افزایش سرعت جستجو با N کارگر پردازشی (worker) اضافی (پیشفرض: 0، خاموش)
- --stdin
- خواندن PATTERN از ورودی استاندارد (stdin) برای پرهیز از قوانین نقلقول گیجکننده شل و در صورت تعیین `--replace`، خواندن REPLACEMENT
- --verbose
- نمایش با جزئیات کامل: فهرست کردن تمامی فایلهای پردازششده
- --help, -h
- نمایش این راهنما
- --version, -v
- نمایش نسخه
| April 2026 | nimgrep 2.2.10 |