PACSIFT(1) pacsift PACSIFT(1)

pacsift - پرس‌وجو و پالایش بسته‌ها

pacsift [options] (<field> <term>)...
pacsift (--help|--version)

به طور پیش‌فرض، اشتراک بسته‌های مطابقت‌یافته بازگردانده می‌شود. اگر یک فیلد چندین بار مشخص شود، اجتماع موارد منطبق برای آن فیلد استفاده خواهد شد.

اگر stdin به یک ترمینال متصل نباشد، بسته‌ها جهت پالایش از stdin خوانده می‌شوند.

ترکیب با pacinfo برای نمایش اطلاعات کوتاه بسته مشابه با "pacman -Qs" و "pacman -Ss":

pacsift --name pacman | pacinfo --short

تنظیم مسیر پرونده پیکربندی جایگزین.
تنظیم پسوند جایگزین برای پایگاه‌داده همگام‌سازی.
تنظیم مسیر پایگاه‌داده جایگزین.
تنظیم ریشه نصب جایگزین.
تنظیم ریشه سیستم جایگزین. به pacutils-sysroot(7) مراجعه کنید.
تنظیم جداکننده جایگزین برای مقادیر خوانده‌شده از stdin. به طور پیش‌فرض از خط جدید "\n" به عنوان جداکننده استفاده می‌شود. اگر --null بدون تعیین sep به کار رود، از "NUL" استفاده خواهد شد.
خروج با وضعیت غیرصفر در صورت یافت نشدن هیچ موردی.
خروج با وضعیت غیرصفر در صورت یافت شدن موارد منطبق.
بازگرداندن بسته‌هایی که با عبارت‌های جستجوی ارائه‌شده مطابقت ندارند.
بازگرداندن اجتماع بسته‌های منطبق به جای اشتراک آن‌ها.
تطبیق دقیق مقادیر.
رفتار با مقادیر رشته‌ای به عنوان عبارت‌های منظم گسترده غیرحساس به حروف کوچک و بزرگ.
نمایش اطلاعات نحوه استفاده و خروج.
نمایش اطلاعات نسخه و خروج.

فیلترها مجموعه اولیه بسته‌های مورد جستجو را محدود می‌کنند. در صورتی که بسته‌ها از طریق stdin فراهم شوند، این فیلترها قابل استفاده نیستند و تحت تأثیر --invert یا --any قرار نمی‌گیرند.

جستجو در بسته‌های نصب‌شده محلی. مشابه با:
pacsift --repo=local | pacsift ...
جستجو در بسته‌های پایگاه‌های داده همگام‌سازی. مشابه با:
pacsift --invert --repo=local | pacsift ...
جستجو در بسته‌های دایرکتوری‌های حافظه موقت (کش).

به طور پیش‌فرض، فیلدهای رشته‌ای از جستجوی زیررشته غیرحساس به حروف کوچک و بزرگ استفاده می‌کنند. اگر --exact استفاده شود، فیلدهای رشته‌ای باید دقیقاً با val مطابقت داشته باشند. در صورت استفاده از "--regex"، مقدار val به عنوان یک عبارت منظم گسترده بدون حساسیت به حروف کوچک و بزرگ استفاده خواهد شد.

مسیرهای پرونده باید با پایگاه‌داده بسته مطابقت داشته باشند؛ هیچ تلاشی برای حل مسیر ارائه‌شده انجام نمی‌شود. نکته: هنگام استفاده با --exact، ریشه نصب در صورت وجود از path حذف خواهد شد؛ در غیر این صورت، path دقیقاً همان‌طور که ارائه شده استفاده می‌شود. می‌توان با realpath یا which جهت جستجوی آسان‌تر مالک پرونده‌های نصب‌شده استفاده کرد:
pacsift --local --exact --owns-file="$(which pacsift)"

وابستگی‌ها را می‌توان در قالب "<pkgname>[<cmp><version]" مشخص کرد. "cmp" می‌تواند هر یک از موارد زیر باشد: "="، "<"، "<="، ">"، ">=". اگر "version" ارائه شود، وابستگی بسته باید تطابق دقیقی با عبارت جستجو داشته باشد. اگر "version" حذف شود، تنها "pkgname" مقایسه خواهد شد مگر اینکه از --exact استفاده شود. اگر "--exact" به کار رود و "version" ارائه نشده باشد، فقط وابستگی‌هایی که هیچ نسخه‌ای برای آن‌ها تعیین نشده تطبیق داده می‌شوند.

فیلدهای وابستگی تحت تأثیر --regex قرار نمی‌گیرند.

فیلدهای اندازه می‌توانند با هر یک از عملگرهای مقایسه‌ای زیر شروع شوند: "="، "!="، "<"، "<="، ">"، ">=". اگر مقایسه‌ای ارائه نشود، از "=" استفاده خواهد شد. اندازه می‌تواند با یک واحد اختصاری دنبال شود. واحدها به حروف کوچک و بزرگ حساس هستند.

فیلدهای تاریخ می‌توانند با هر یک از عملگرهای مقایسه‌ای زیر شروع شوند: "="، "!="، "<"، "<="، ">"، ">=". اگر مقایسه‌ای تعیین نشود، از "=" استفاده خواهد شد. تاریخ‌ها را می‌توان به صورت ثانیه‌های سپری‌شده از مبدأ یونیکس یا در هر یک از قالب‌های "strptime" زیر ارائه کرد: "%Y-%m-%d"، "%Y-%m-%d %H:%M"، "%Y-%m-%d %H:%M:%S".

جستجو برای بسته‌هایی که وابستگی dependency را برآورده می‌کنند.

یافتن بسته‌های معیوب:
pacsift --packager allan
یافتن بسته‌های نصب‌شده بزرگ:
pacsift --local --size '>1.5GB'
یافتن بسته‌هایی با وجود عبارت "pacman" یا "alpm" در توضیحات آن‌ها:
pacsift --description pacman --description alpm
یافتن بسته‌هایی با وجود هر دو عبارت "pacman" و "alpm" در توضیحات آن‌ها:
pacsift --description pacman | pacsift --description alpm
بررسی نصب بودن یک بسته:
pacsift --local --exists --satisfies pacman && echo "pacman is installed"

دستور pacsift خواندن یا نخواندن بسته‌ها از stdin را بر اساس یک بررسی ساده با استفاده از isatty(3) تعیین می‌کند. اگر pacsift در محیطی فراخوانی شود (مانند یک تابع پوسته یا اسکریپت استفاده‌شده در خط لوله) که در آن stdin به ترمینال متصل نیست اما حاوی بسته‌هایی برای پالایش هم نیست، pacsift باید با ورودی استاندارد (stdin) بسته فراخوانی شود. در پوسته‌های سازگار با POSIX، این کار با "<&-" انجام‌پذیر است.

2025-12-04 pacutils