.TH FD 1 .SH "نام (NAME)" fd \- ابزار سریع و ساده برای جستجوی ورودیها در سیستمفایل .SH "خلاصه دستور (SYNOPSIS)" .B fd .RB [ \-HIEsiaLp0hV ] .RB [ \-d .IR depth ] .RB [ \-t .IR filetype ] .RB [ \-e .IR ext ] .RB [ \-E .IR exclude ] .RB [ \-c .IR when ] .RB [ \-j .IR num ] .RB [ \-x .IR cmd ] .RI [ pattern .RI [ path... ]] .SH "توضیحات (DESCRIPTION)" .B fd یک جایگزین ساده، سریع و کاربرپسند برای .BR find (1) است. .P به‌طور پیش‌فرض .B fd از عبارات باقاعده برای الگو استفاده می‌کند. با این حال، می‌توان با استفاده از گزینه .B \-\-glob این رفتار را تغییر داد تا از الگوهای ساده گلوب استفاده شود. .P به‌طور پیش‌فرض .B fd فایل‌ها و دایرکتوری‌های پنهان، و همچنین هر فایلی که با قوانین gitignore یا قوانین نادیده‌گیری در فایل‌های .I .ignore یا .I .fdignore مطابقت داشته باشد را نادیده می‌گیرد. .P اگر می‌خواهید تمام فایل‌ها را در یک دایرکتوری مشخص جستجو کنید، می‌توانید از '' یا . به‌عنوان الگوی جستجو برای مطابقت با تمام فایل‌ها استفاده کنید. یا می‌توانید از گزینه .B \-\-search\-path به‌جای پارامتر مکانی برای تعیین مسیر(ها) استفاده کنید. .P گزینه‌ها را می‌توان در هر کجای خط فرمان مشخص کرد. .SH "گزینهها (OPTIONS)" .TP .B \-H, \-\-hidden شامل کردن فایل‌ها و دایرکتوری‌های پنهان در نتایج جستجو (پیش‌فرض: فایل‌ها و دایرکتوری‌های پنهان نادیده گرفته می‌شوند). این فلگ را می‌توان با .B \-\-no\-hidden لغو کرد. .IP فایل‌های نادیده‌گرفته‌شده همچنان مستثنی هستند مگر اینکه از .B \-\-no\-ignore یا .B \-\-no\-ignore\-vcs نیز استفاده شود. .TP .B \-I, \-\-no\-ignore نمایش نتایج جستجو از فایل‌ها و دایرکتوری‌هایی که در حالت عادی نادیده گرفته می‌شدند توسط: .RS .IP \[bu] 2 .I .gitignore .IP \[bu] .I .git/info/exclude .IP \[bu] پیکربندی سراسری gitignore (به‌طور پیش‌فرض .IR $HOME/.config/git/ignore ) .IP \[bu] .I .ignore .IP \[bu] .I .fdignore .IP \[bu] فایل نادیده‌گیری سراسری fd (معمولاً .I $HOME/.config/fd/ignore ) .RE .IP این فلگ را می‌توان با .B \-\-ignore لغو کرد. .TP .B \-u, \-\-unrestricted انجام جستجوی نامحدود، شامل فایل‌های نادیده‌گرفته‌شده و پنهان. این گزینه نام مستعاری برای .B \-\-hidden\ \-\-no\-ignore است. .TP .B \-\-no\-ignore\-vcs نمایش نتایج جستجو از فایل‌ها و دایرکتوری‌هایی که در حالت عادی توسط فایل‌های gitignore نادیده گرفته می‌شدند، از جمله .IR .gitignore ، .IR .git/info/exclude ، و پیکربندی سراسری gitignore .RI ( core.excludesFile در تنظیمات git، که به‌طور پیش‌فرض .IR $HOME/.config/git/ignore است). این فلگ را می‌توان با .B \-\-ignore\-vcs لغو کرد. .TP .B \-\-no\-require\-git عدم الزام به مخزن git برای رعایت فایل‌های gitignore. به‌طور پیش‌فرض، .B fd تنها در صورتی قوانین سراسری gitignore، قوانین .I .gitignore و قوانین استثنای محلی را رعایت می‌کند که تشخیص دهد در حال جستجو درون یک مخزن git هستید. این فلگ به شما اجازه می‌دهد این محدودیت را بردارید تا .B fd تمام قوانین نادیده‌گیری مرتبط با git را صرف‌نظر از اینکه درون یک مخزن git جستجو می‌کنید یا خیر رعایت کند. این فلگ را می‌توان با .B \-\-require\-git لغو کرد. .TP .B \-\-no\-ignore\-parent نمایش نتایج جستجو از فایل‌ها و دایرکتوری‌هایی که در حالت عادی توسط فایل‌های gitignore در دایرکتوری‌های والد نادیده گرفته می‌شدند. .TP .B \-s, \-\-case\-sensitive انجام جستجوی حساس به حروف بزرگ و کوچک. به‌طور پیش‌فرض، .B fd از جستجوی غیرحساس به حروف استفاده می‌کند، مگر اینکه الگو حاوی یک حرف بزرگ باشد (smart case). .TP .B \-i, \-\-ignore\-case انجام جستجوی غیرحساس به حروف بزرگ و کوچک. به‌طور پیش‌فرض، .B fd از جستجوی غیرحساس به حروف استفاده می‌کند، مگر اینکه الگو حاوی یک حرف بزرگ باشد (smart case). .TP .B \-g, \-\-glob انجام جستجوی مبتنی بر الگوهای گلوب به‌جای عبارات باقاعده. در صورت ترکیب با گزینه .BR \-\-full\-path ، می‌توان از '**' برای مطابقت با چندین مؤلفه مسیر استفاده کرد. .TP .B \-\-regex انجام جستجوی مبتنی بر عبارت باقاعده (پیش‌فرض). می‌توان برای لغو .B \-\-glob استفاده کرد. .TP .B \-F, \-\-fixed\-strings در نظر گرفتن الگو به‌عنوان یک رشته تحت‌اللفظی (literal string) به‌جای عبارت باقاعده. توجه داشته باشید که این گزینه مقایسه زیررشته را نیز انجام می‌دهد. اگر می‌خواهید با نام دقیق فایل مطابقت داده شود، استفاده از .B \-\-glob یا .B \-\-exact را در نظر بگیرید. .TP .B \-\-exact انجام تطابق دقیق. این گزینه معادل .B \-\-fixed\-strings است اما مستلزم آن است که الگو با کل نام فایل (یا مسیر کامل در صورت استفاده از .BR \-\-full\-path ) مطابقت داشته باشد، نه فقط یک زیررشته. نویسه‌های خاص regex در الگو مانند نویسه‌های معمولی در نظر گرفته می‌شوند. نمی‌توان همزمان با .B \-\-glob یا .B \-\-fixed\-strings استفاده شود. .TP .BI "\-\-and " pattern افزودن الگوهای جستجوی الزامی اضافی که همگی باید مطابقت داشته باشند. می‌توان چندین الگوی اضافی مشخص کرد. الگوها عبارات باقاعده هستند مگر اینکه از .B \-\-glob یا .B \-\-fixed\-strings استفاده شود. .TP .B \-a, \-\-absolute\-path نمایش مسیر کامل با شروع از ریشه، در مقایسه با مسیرهای نسبی. این فلگ را می‌توان با .B \-\-relative\-path لغو کرد. .TP .B \-l, \-\-list\-details استفاده از فرمت فهرست‌بندی دقیق مانند 'ls -l'. این در اصل نام مستعاری برای .B \-\-exec\-batch ls \-l به همراه برخی گزینه‌های اضافی 'ls' است. این می‌تواند برای دیدن متادیتای بیشتر، نمایش مقصدهای پیوند نمادین و دستیابی به ترتیب مرتب‌سازی قطعی استفاده شود. .TP .B \-L, \-\-follow به‌طور پیش‌فرض، .B fd وارد دایرکتوری‌های پیوند نمادین (symlink) نمی‌شود. با استفاده از این فلگ، پیوندهای نمادین نیز پیمایش می‌شوند. این فلگ را می‌توان با .B \-\-no\-follow لغو کرد. .TP .B \-p, \-\-full\-path به‌طور پیش‌فرض، الگوی جستجو تنها با نام فایل (یا نام دایرکتوری) مطابقت داده می‌شود. با استفاده از این فلگ، .I pattern با مسیر کامل مطابقت داده می‌شود. .TP .B \-0, \-\-print0 جداسازی نتایج جستجو با نویسه تهی یا null (به‌جای خطوط جدید). برای ارسال لوله‌ای (pipe) نتایج به .IR xargs مفید است. .TP .B \-\-max\-results count محدود کردن تعداد نتایج جستجو به 'count' و خروج فوری. .TP .B \-1 محدود کردن جستجو به یک نتیجه و خروج فوری. این یک نام مستعار برای .B \-\-max\-results=1 است. .TP .B \-q, \-\-quiet هنگامی که این فلگ وجود دارد، برنامه چیزی چاپ نمی‌کند و در صورت وجود حداقل یک نتیجه جستجو، با کد 0 خارج می‌شود. در غیر این صورت، کد خروج 1 خواهد بود. این عمدتاً برای استفاده در اسکریپت‌ها کاربرد دارد و می‌تواند سریع‌تر از بررسی خروجی باشد زیرا جستجو پس از اولین تطابق بلافاصله متوقف می‌شود. .B \-\-has\-results می‌تواند به‌عنوان نام مستعار استفاده شود. .TP .B \-\-show-errors فعال کردن نمایش خطاهای سیستم‌فایل برای مواردی مانند عدم دسترسی کافی یا پیوندهای نمادین شکسته (dead symlinks). .TP .B \-\-strip-cwd-prefix [when] به‌طور پیش‌فرض، زمانی که گزینه‌های .BR \-x /\ \-\-exec ، .BR \-X /\ \-\-exec\-batch یا .BR \-0 /\ \-\-print0 داده می‌شوند، مسیرهای نسبی با './' پیشوند می‌گیرند تا خطر تفسیر مسیری که با '-' شروع می‌شود به‌عنوان گزینه خط فرمان کاهش یابد. از این فلگ برای تغییر این رفتار استفاده کنید. اگر این فلگ بدون مقدار استفاده شود، معادل ارسال "always" است. مقادیر مجاز عبارتند از: .RS .IP never هرگز ./ در ابتدای مسیرها حذف نشود .IP always همیشه ./ در ابتدای مسیرها حذف شود .IP auto فقط در صورت استفاده با .BR \-\-exec ، .B \-\-exec\-batch یا .B \-\-print0 حذف شود. یعنی به رفتار پیش‌فرض بازمی‌گردد. .RE .TP .B \-\-one\-file\-system, \-\-mount, \-\-xdev به‌طور پیش‌فرض، .B fd درخت سیستم‌فایل را تا جایی که سایر گزینه‌ها تعیین کنند پیمایش می‌کند. با این فلگ، .B fd اطمینان حاصل می‌کند که به سیستم‌فایلی متفاوت از سیستمی که در آن شروع شده وارد نشود. قابل مقایسه با فیلترهای .B \-mount یا .B \-xdev در .BR find (1) . .TP .B \-h, \-\-help چاپ اطلاعات راهنما. .TP .B \-V, \-\-version چاپ اطلاعات نسخه. .TP .BI "\-d, \-\-max\-depth " d محدود کردن عمق پیمایش دایرکتوری حداکثر تا .I d سطح. به‌طور پیش‌فرض، هیچ محدودیتی در عمق جستجو وجود ندارد. .TP .BI "\-\-min\-depth " d نمایش نتایج جستجو فقط با شروع از عمق مشخص‌شده. همچنین ببینید: .B \-\-max\-depth و .BR \-\-exact\-depth . .TP .BI "\-\-exact\-depth " d نمایش نتایج جستجو فقط در دقیقاً همان عمق مشخص‌شده. این یک نام مستعار برای .B \-\-min\-depth \-\-max\-depth است. .TP .B \-\-prune عدم ورود به دایرکتوری‌های مطابقت‌یافته. .TP .BI "\-t, \-\-type " filetype فیلتر کردن جستجو بر اساس نوع: .RS .IP "f, file" فایل‌های معمولی (regular files) .IP "d, dir, directory" دایرکتوری‌ها .IP "l, symlink" پیوندهای نمادین (symbolic links) .IP "b, block-device" دستگاه‌های بلوکی (block devices) .IP "c, char-device" دستگاه‌های نویسه‌ای (character devices) .IP "s, socket" سوکت‌ها (sockets) .IP "p, pipe" لوله‌های نام‌گذاری‌شده (FIFOs) .IP "x, executable" فایل‌های اجرایی .IP "e, empty" فایل‌ها یا دایرکتوری‌های خالی .RE .RS این گزینه را می‌توان بیش از یک بار برای در نظر گرفتن چندین نوع فایل مشخص کرد. جستجو برای .B '\-\-type file \-\-type symlink' هم فایل‌های معمولی و هم پیوندهای نمادین را نمایش می‌دهد. توجه داشته باشید که فیلترهای 'executable' و 'empty' عملکرد متفاوتی دارند: .B '\-\-type executable' به‌طور پیش‌فرض به معنی .B '\-\-type file' است. و .B '\-\-type empty' فایل‌ها و دایرکتوری‌های خالی را جستجو می‌کند، مگر اینکه یکی از .B '\-\-type file' یا .B '\-\-type directory' نیز علاوه بر آن مشخص شده باشد. .PP مثال‌ها: .nf \- جستجو فقط برای فایل‌ها: fd \-\-type file … fd \-tf … \- یافتن هم فایل‌ها و هم پیوندهای نمادین: fd \-\-type file \-\-type symlink … fd \-tf \-tl … \- یافتن فایل‌های اجرایی: fd \-\-type executable fd \-tx \- یافتن فایل‌های خالی: fd \-\-type empty \-\-type file fd \-te \-tf \- یافتن دایرکتوری‌های خالی: fd \-\-type empty \-\-type directory fd \-te \-td .fi .RE .TP .BI "\-e, \-\-extension " ext فیلتر کردن نتایج جستجو بر اساس پسوند .IR ext . این گزینه می‌تواند به‌طور مکرر برای در نظر گرفتن چندین پسوند ممکن استفاده شود. به‌طور پیش‌فرض، فیلترهای پسوند هم برای فایل‌ها و هم برای دایرکتوری‌ها اعمال می‌شوند. از .B \-\-type برای محدود کردن جستجو به انواع خاص استفاده کنید. اگر می‌خواهید فایل‌های بدون پسوند را جستجو کنید، می‌توانید از عبارت باقاعده '^[^.]+$' به‌عنوان یک الگوی جستجوی معمولی استفاده کنید. .TP .BI "\-E, \-\-exclude " glob مستثنی کردن فایل‌ها/دایرکتوری‌هایی که با الگوی گلوب مشخص‌شده مطابقت دارند. این گزینه بر هر منطق نادیده‌گیری دیگری ارجحیت دارد. می‌توان چندین الگوی استثنا مشخص کرد. .PP مثال‌ها: .nf \-\-exclude '*.pyc' \-\-exclude node_modules .fi .TP .BI "\-\-ignore-contain " name مستثنی کردن دایرکتوری‌هایی که (مستقیماً) حاوی نام داده‌شده هستند. این گزینه می‌تواند چندین بار مشخص شود. .TP .BI "\-\-ignore-file " path افزودن یک فایل نادیده‌گیری سفارشی در فرمت '.gitignore'. این فایل‌ها اولویت پایینی دارند. .TP .BI "\-c, \-\-color " when اعلام زمان .RI ( when ) رنگی‌سازی نتایج جستجو: .RS .IP auto رنگی‌سازی خروجی هنگامی که خروجی استاندارد به ترمینال متصل است (پیش‌فرض). .IP never خروجی رنگی نشود. .IP always خروجی همیشه رنگی شود. .RE .TP .B \-\-hyperlink تعیین اینکه آیا خروجی باید از کدهای گریز ترمینال برای ایجاد یک هایپرلینک به آدرس اینترنتی فایل (file URL) که به مسیر اشاره دارد استفاده کند یا خیر. مقدار می‌تواند auto، always، یا never باشد. در حال حاضر، پیش‌فرض "never" است و اگر گزینه بدون آرگومان استفاده شود، "auto" به کار می‌رود. در آینده ممکن است این به "auto" و "always" تغییر یابد. .RS .IP auto فقط در صورتی هایپرلینک خروجی داده شود که رنگ نیز فعال باشد، به‌عنوان معیاری برای اینکه آیا کدهای گریز ترمینال قابل قبول هستند یا خیر. .IP never هرگز کدهای گریز هایپرلینک خروجی داده نشود. .IP always کدهای گریز هایپرلینک همیشه بدون توجه به تنظیمات رنگ خروجی داده شود. .RE .TP .BI "\-j, \-\-threads " num تنظیم تعداد نخ‌ها (threads) برای استفاده در جستجو و اجرا (پیش‌فرض: تعداد هسته‌های پردازنده موجود). .TP .BI "\-S, \-\-size " size محدود کردن نتایج بر اساس اندازه فایل‌ها با استفاده از قالب .I <+-> .RS .IP '+' اندازه فایل باید بزرگ‌تر یا مساوی این مقدار باشد .IP '-' اندازه فایل باید کوچک‌تر یا مساوی این مقدار باشد .P اگر نه '+' و نه '-' مشخص نشود، اندازه فایل باید دقیقاً برابر با این مقدار باشد. .IP 'NUM' اندازه عددی (مانند 500) .IP 'UNIT' واحد برای NUM. به حروف بزرگ و کوچک حساس نیستند. واحدهای مجاز: .RS .IP 'b' بایت (bytes) .IP 'k' کیلوبایت (مبنای ده، 10^3 = 1000 بایت) .IP 'm' مگابایت .IP 'g' گیگابایت .IP 't' ترابایت .IP 'ki' کیبی‌بایت (مبنای دو، 2^10 = 1024 بایت) .IP 'mi' مبی‌بایت .IP 'gi' گیبی‌بایت .IP 'ti' تبی‌بایت .RE .RE .TP .BI "\-\-changed-within " date|duration فیلتر کردن نتایج بر اساس زمان تغییر فایل. فایل‌هایی با برچسب زمانی تغییر بزرگ‌تر از آرگومان بازگردانده می‌شوند. آرگومان می‌تواند به‌صورت یک بازه زمانی (\fI10h, 1d, 35min\fR) یا یک نقطه زمانی خاص با فرمت کامل RFC3339 به همراه منطقه زمانی، به‌صورت تاریخ یا تاریخ-زمان در منطقه زمانی محلی (\fIYYYY-MM-DD\fR یا \fIYYYY-MM-DD HH:MM:SS\fR)، یا با پیشوند '@' به همراه تعداد ثانیه‌ها از مبدأ یونیکس (@[0-9]+) ارائه شود. .BR \-\-change-newer-than ، .B \-\-newer یا .B \-\-changed-after می‌توانند به‌عنوان نام‌های مستعار استفاده شوند. .PP مثال‌ها: .nf \-\-changed-within 2weeks \-\-change-newer-than "2018-10-27 10:00:00" \-\-newer 2018-10-27 \-\-changed-after @1704067200 .fi .TP .BI "\-\-changed-before " date|duration فیلتر کردن نتایج بر اساس زمان تغییر فایل. فایل‌هایی با برچسب زمانی تغییر کمتر از آرگومان بازگردانده می‌شوند. آرگومان می‌تواند به‌صورت یک بازه زمانی (\fI10h, 1d, 35min\fR) یا یک نقطه زمانی خاص با فرمت کامل RFC3339 به همراه منطقه زمانی، به‌صورت تاریخ یا تاریخ-زمان در منطقه زمانی محلی (\fIYYYY-MM-DD\fR یا \fIYYYY-MM-DD HH:MM:SS\fR)، یا با پیشوند '@' به همراه تعداد ثانیه‌ها از مبدأ یونیکس (@[0-9]+) ارائه شود. .B \-\-change-older-than یا .B \-\-older می‌توانند به‌عنوان نام‌های مستعار استفاده شوند. .PP مثال‌ها: .nf \-\-changed-before "2018-10-27 10:00:00" \-\-change-older-than 2weeks \-\-older @1704067200 .fi .TP .BI "-o, \-\-owner " [user][:group] فیلتر کردن فایل‌ها بر اساس کاربر و/یا گروه آن‌ها. قالب: [(user|uid)][:(group|gid)]. هر دو طرف اختیاری است. برای استثنا کردن فایل‌ها، علامت '!' را قبل از هر طرف قرار دهید. .PP مثال‌ها: .nf \-\-owner john \-\-owner :students \-\-owner "!john:students" .fi .TP .BI "-C, \-\-base\-directory " path تغییر دایرکتوری کاری جاری .B fd به مسیر داده‌شده. این بدان معناست که نتایج جستجو نسبت به مسیر پایه داده‌شده نمایش داده می‌شوند. توجه داشته باشید که مسیرهای نسبی که از طریق آرگومان مکانی .I path یا گزینه .B \-\-search\-path به .B fd داده می‌شوند نیز نسبت به این دایرکتوری تفسیر خواهند شد. .TP .BI "\-\-path\-separator " separator تنظیم جداکننده مسیر برای چاپ مسیرهای فایل. پیش‌فرض، جداکننده اختصاصی سیستم‌عامل است ('/' در یونیکس، '\\' در ویندوز). .TP .BI "\-\-search\-path " search\-path ارائه مسیرهایی برای جستجو به‌عنوان جایگزینی برای آرگومان مکانی .IR path . کاربرد را به شکل زیر تغییر می‌دهد: \'fd [FLAGS/OPTIONS] \-\-search\-path PATH \-\-search\-path PATH2 [PATTERN]\' .TP .BI "\-\-format " fmt مشخص کردن یک رشته الگو که برای چاپ یک خط به ازای هر فایل پیدا شده استفاده می‌شود. جایگزین‌های زیر قبل از چاپ برای هر فایل در رشته جایگذاری می‌شوند: .RS .IP {} مسیر (نتیجه جستجوی جاری) .IP {/} نام پایه (basename) .IP {//} دایرکتوری والد .IP {.} مسیر بدون پسوند فایل .IP {/.} نام پایه بدون پسوند فایل .IP {{ علامت '{' تحت‌اللفظی (یک توالی فرار) .IP }} علامت '}' تحت‌اللفظی (یک توالی فرار) .P توجه داشته باشید که می‌توانید از "{{" و "}}" برای اسکیپ کردن "{" و "}" استفاده کنید، که به‌ویژه در صورت نیاز به گنجاندن متن تحت‌اللفظی یکی از جایگزین‌های بالا مفید است. .RE .TP .BI "\-x, \-\-exec " command .RS اجرای .I command به‌صورت موازی برای هر نتیجه جستجو (از --threads=1 برای اجرای ترتیبی دستور استفاده کنید). توجه داشته باشید که تمام آرگومان‌های مکانی بعدی به‌عنوان آرگومان‌های .I command در نظر گرفته می‌شوند \- نه .BR fd . بنابراین توصیه می‌شود گزینه .B \-x/\-\-exec در انتهای دستور قرار گیرد. در غیر این صورت، می‌توانید آرگومان ';' را برای پایان دادن به فهرست آرگومان‌ها و ادامه گزینه‌های دیگر .B fd ارائه دهید. در بیشتر شل‌ها نیاز است ';' اسکیپ شود: '\\;'. این گزینه می‌تواند چندین بار مشخص شود، که در این صورت تمام دستورات برای هر فایل پیدا شده، به همان ترتیبی که ارائه شده‌اند اجرا می‌شوند. در آن صورت، باید برای همه دستورات به جز دستور آخر، آرگومان ';' ارائه شود. اگر موازی‌سازی فعال باشد، ترتیبی که دستورات اجرا می‌شوند نامعین (non-deterministic) است. و حتی با --threads=1، ترتیب توسط سیستم‌عامل تعیین می‌شود و ممکن است آن چیزی نباشد که انتظار دارید. بنابراین، توصیه می‌شود به هیچ ترتیبی از نتایج اتکا نکنید. قبل از اجرای دستور، هر الگوی جایگزین در دستور با مقادیر متناظر برای فایل جاری جایگزین می‌شود. همان جایگزین‌هایی استفاده می‌شوند که در گزینه .B \-\-format به کار می‌روند. اگر هیچ جایگزینی وجود نداشته باشد، یک "{}" ضمنی در انتها در نظر گرفته می‌شود. اگر .B \-\-print0 نیز داده شود، یک نویسه تهی (\\0) بین خروجی برای هر ورودی پیدا شده چاپ خواهد شد. این به برنامه دیگری اجازه می‌دهد در صورتی که دستور(ها) چندین خط تولید کنند، خروجی هر فایل را به‌راحتی تفکیک کند. .PP مثال‌ها: .nf \- یافتن تمام فایل‌های *.zip و استخراج آن‌ها: fd -e zip -x unzip \- یافتن فایل‌های *.h و *.cpp و اجرای "clang-format -i .." برای هر یک از آن‌ها: fd -e h -e cpp -x clang-format -i \- تبدیل تمام فایل‌های *.jpg به فایل‌های *.png: fd -e jpg -x convert {} {.}.png \- اجرای stat برای هر فایل *.txt، جدا شده با نویسه‌های تهی: fd -0 -e txt -x stat .fi .RE .TP .BI "\-X, \-\-exec-batch " command .RS اجرای .I command به‌صورت یک‌باره، با تمام نتایج جستجو به‌عنوان آرگومان. ترتیب آرگومان‌ها نامعین است و نباید به آن اتکا شود. این گزینه از همان جایگزین‌های .B \-\-format و .B \-\-exec استفاده می‌کند، اما به‌جای یک بار بسط به ازای هر فراخوانی دستور، هر آرگومان حاوی یک جایگزین برای هر فایل در یک دسته بسط می‌یابد و به‌عنوان آرگومان‌های جداگانه ارسال می‌شود. اگر هیچ جایگزینی وجود نداشته باشد، یک "{}" ضمنی در انتها در نظر گرفته می‌شود. مانند .BR \-\-exec ، آرگومان‌های بعدی بخشی از .I command فرض می‌شوند تا زمانی که یا آرگومان‌های دستور به پایان برسند یا به آرگومان ';' برسد. به توضیحات بالا مراجعه کنید. مانند .BR \-\-exec ، این گزینه می‌تواند چندین بار استفاده شود، که در این صورت هر دستور به ترتیب داده‌شده اجرا خواهد شد. .PP مثال‌ها: .nf \- یافتن تمام فایل‌های test_*.py و باز کردن آن‌ها در ویرایشگر دلخواه: fd -g 'test_*.py' -X vim .fi توجه داشته باشید که این دستور یک فرآیند منفرد "vim" را با تمام نتایج جستجو به‌عنوان آرگومان اجرا می‌کند. .nf \- یافتن تمام فایل‌های *.rs و شمارش خطوط با "wc -l ...": fd -e rs -X wc -l .fi .RE .TP .BI "\-\-batch-size " size حداکثر تعداد آرگومان‌ها برای ارسال به دستور داده‌شده با .BR \-X . اگر تعداد نتایج بیشتر از اندازه داده‌شده باشد، دستور داده‌شده با .B \-X دوباره با آرگومان‌های باقی‌مانده اجرا می‌شود. اندازه دسته صفر به معنای عدم وجود محدودیت است (پیش‌فرض)، اما توجه داشته باشید که دسته‌بندی ممکن است همچنان به دلیل محدودیت‌های سیستم‌عامل در حداکثر طول خطوط فرمان اتفاق بیفتد. .SH "ساختار الگوها (PATTERN SYNTAX)" سینتکس عبارت باقاعده مورد استفاده توسط .B fd در اینجا مستند شده است: .IP https://docs.rs/regex/1.0.0/regex/#syntax .PP سینتکس گلوب در اینجا مستند شده است: .IP https://docs.rs/globset/#syntax .SH "محیط (ENVIRONMENT)" .TP .B LS_COLORS تعیین نحوه رنگی‌سازی نتایج جستجو، ببینید: .BR dircolors (1) . .TP .B NO_COLOR غیرفعال کردن خروجی رنگی. .TP .B XDG_CONFIG_HOME, HOME برای یافتن فایل نادیده‌گیری سراسری استفاده می‌شود. اگر .B XDG_CONFIG_HOME تنظیم شده باشد، از .IR $XDG_CONFIG_HOME/fd/ignore استفاده می‌شود. در غیر این صورت، از .IR $HOME/.config/fd/ignore استفاده می‌شود. .SH "فایل‌ها (FILES)" .TP .B .fdignore این فایل شبیه به یک فایل .I .gitignore در هر کجای درخت جستجوشده عمل می‌کند و الگوهایی را مشخص می‌کند که باید از جستجو مستثنی شوند. با این حال، این فایل مختص .B fd است و حتی در صورت استفاده از گزینه .B \-\-no\-ignore\-vcs نیز به کار خواهد رفت. .TP .B $XDG_CONFIG_HOME/fd/ignore فایل نادیده‌گیری سراسری. مگر اینکه حالت نادیده‌گیری خاموش باشد (مانند .BR \-\-no\-ignore )، ورودی‌های نادیده‌گیری در این فایل نادیده گرفته خواهند شد، گویی یک فایل .B .fdignore در دایرکتوری جاری است. .SH "مثالها (EXAMPLES)" .TP .RI "یافتن فایل‌ها و دایرکتوری‌هایی که با الگوی '" needle "' مطابقت دارند:" $ fd needle .TP .RI "شروع جستجو در یک دایرکتوری مشخص (" /var/log "):" $ fd nginx /var/log .TP .RI "یافتن تمام فایل‌های پایتون (تمام فایل‌های با پسوند " .py ") در دایرکتوری جاری:" $ fd -e py .TP .RI "باز کردن تمام نتایج جستجو با vim:" $ fd pattern -X vim .SH "نکات و ترفندها (Tips and Tricks)" .IP \[bu] اگر ".git/" را به فایل نادیده‌گیری سراسری خود ($XDG_CONFIG_HOME/fd/ignore) اضافه کنید، پوشه‌های ".git" به‌طور پیش‌فرض نادیده گرفته می‌شوند، حتی زمانی که از گزینه .B \-\-hidden استفاده شود. .IP \[bu] می‌توانید از نام مستعار شل (alias) یا یک اسکریپت واسط (wrapper) استفاده کنید تا فلگ‌های مورد نظر را به‌طور پیش‌فرض به .B fd ارسال کنید. برای مثال، اگر رفتار پیش‌فرض رعایت gitignore را دوست ندارید، می‌توانید از .PP `alias fd="/usr/bin/fd --no-ignore-vcs"` .PP در فایل bashrc. خود برای ایجاد یک نام مستعار برای .B fd استفاده کنید که به‌طور پیش‌فرض فایل‌های git را نادیده نمی‌گیرد. .SH "گزارش باگ‌ها (BUGS)" مشکلات و باگ‌ها را می‌توان در گیت‌هاب گزارش کرد: https://github.com/sharkdp/fd/issues .SH "همچنین ببینید (SEE ALSO)" .BR find (1)