| PACSIFT(1) | pacsift | PACSIFT(1) |
نام (NAME)
pacsift - پرسوجو و پالایش بستهها
خلاصه دستور (SYNOPSIS)
pacsift [options] (<field> <term>)... pacsift (--help|--version)
توضیحات (DESCRIPTION)
به طور پیشفرض، اشتراک بستههای مطابقتیافته بازگردانده میشود. اگر یک فیلد چندین بار مشخص شود، اجتماع موارد منطبق برای آن فیلد استفاده خواهد شد.
اگر stdin به یک ترمینال متصل نباشد، بستهها جهت پالایش از stdin خوانده میشوند.
ترکیب با pacinfo برای نمایش اطلاعات کوتاه بسته مشابه با "pacman -Qs" و "pacman -Ss":
pacsift --name pacman | pacinfo --short
گزینهها (OPTIONS)
- --config=path
- تنظیم مسیر پرونده پیکربندی جایگزین.
- --dbext=extension
- تنظیم پسوند جایگزین برای پایگاهداده همگامسازی.
- --dbpath=path
- تنظیم مسیر پایگاهداده جایگزین.
- --root=path
- تنظیم ریشه نصب جایگزین.
- --sysroot=path
- تنظیم ریشه سیستم جایگزین. به pacutils-sysroot(7) مراجعه کنید.
- --null[=sep]
- تنظیم جداکننده جایگزین برای مقادیر خواندهشده از stdin. به طور پیشفرض از خط جدید "\n" به عنوان جداکننده استفاده میشود. اگر --null بدون تعیین sep به کار رود، از "NUL" استفاده خواهد شد.
- --exists
- خروج با وضعیت غیرصفر در صورت یافت نشدن هیچ موردی.
- --not-exists
- خروج با وضعیت غیرصفر در صورت یافت شدن موارد منطبق.
- --invert
- بازگرداندن بستههایی که با عبارتهای جستجوی ارائهشده مطابقت ندارند.
- --any
- بازگرداندن اجتماع بستههای منطبق به جای اشتراک آنها.
- --exact
- تطبیق دقیق مقادیر.
- --regex
- رفتار با مقادیر رشتهای به عنوان عبارتهای منظم گسترده غیرحساس به حروف کوچک و بزرگ.
- --help
- نمایش اطلاعات نحوه استفاده و خروج.
- --version
- نمایش اطلاعات نسخه و خروج.
فیلترها (Filters)
فیلترها مجموعه اولیه بستههای مورد جستجو را محدود میکنند. در صورتی که بستهها از طریق stdin فراهم شوند، این فیلترها قابل استفاده نیستند و تحت تأثیر --invert یا --any قرار نمیگیرند.
- --local
- جستجو در
بستههای
نصبشده
محلی. مشابه
با:
pacsift --repo=local | pacsift ... - --sync
- جستجو در
بستههای
پایگاههای
داده
همگامسازی.
مشابه با:
pacsift --invert --repo=local | pacsift ... - --cache (آزمایشی - EXPERIMENTAL)
- جستجو در بستههای دایرکتوریهای حافظه موقت (کش).
فیلدهای رشتهای (String Fields)
به طور پیشفرض، فیلدهای رشتهای از جستجوی زیررشته غیرحساس به حروف کوچک و بزرگ استفاده میکنند. اگر --exact استفاده شود، فیلدهای رشتهای باید دقیقاً با val مطابقت داشته باشند. در صورت استفاده از "--regex"، مقدار val به عنوان یک عبارت منظم گسترده بدون حساسیت به حروف کوچک و بزرگ استفاده خواهد شد.
- --repo=val
- --name=val
- --base=val
- --description=val
- --packager=val
- --group=val
- --owns-file=path
- مسیرهای
پرونده
باید با
پایگاهداده
بسته
مطابقت
داشته
باشند؛ هیچ
تلاشی برای
حل مسیر
ارائهشده
انجام
نمیشود.
نکته:
هنگام
استفاده با
--exact، ریشه
نصب در صورت
وجود از path
حذف خواهد
شد؛ در غیر
این صورت،
path دقیقاً
همانطور
که ارائه
شده
استفاده
میشود.
میتوان با
realpath یا which جهت
جستجوی
آسانتر
مالک
پروندههای
نصبشده
استفاده
کرد:
pacsift --local --exact --owns-file="$(which pacsift)"
- --license=val
- --url=val
فیلدهای وابستگی (Dependency Fields)
وابستگیها را میتوان در قالب "<pkgname>[<cmp><version]" مشخص کرد. "cmp" میتواند هر یک از موارد زیر باشد: "="، "<"، "<="، ">"، ">=". اگر "version" ارائه شود، وابستگی بسته باید تطابق دقیقی با عبارت جستجو داشته باشد. اگر "version" حذف شود، تنها "pkgname" مقایسه خواهد شد مگر اینکه از --exact استفاده شود. اگر "--exact" به کار رود و "version" ارائه نشده باشد، فقط وابستگیهایی که هیچ نسخهای برای آنها تعیین نشده تطبیق داده میشوند.
فیلدهای وابستگی تحت تأثیر --regex قرار نمیگیرند.
فیلدهای اندازه (Size Fields)
فیلدهای اندازه میتوانند با هر یک از عملگرهای مقایسهای زیر شروع شوند: "="، "!="، "<"، "<="، ">"، ">=". اگر مقایسهای ارائه نشود، از "=" استفاده خواهد شد. اندازه میتواند با یک واحد اختصاری دنبال شود. واحدها به حروف کوچک و بزرگ حساس هستند.
فیلدهای تاریخ (Date Fields)
فیلدهای تاریخ میتوانند با هر یک از عملگرهای مقایسهای زیر شروع شوند: "="، "!="، "<"، "<="، ">"، ">=". اگر مقایسهای تعیین نشود، از "=" استفاده خواهد شد. تاریخها را میتوان به صورت ثانیههای سپریشده از مبدأ یونیکس یا در هر یک از قالبهای "strptime" زیر ارائه کرد: "%Y-%m-%d"، "%Y-%m-%d %H:%M"، "%Y-%m-%d %H:%M:%S".
سایر موارد (Other)
- --satisfies=dependency
- جستجو برای بستههایی که وابستگی dependency را برآورده میکنند.
مثالها (EXAMPLES)
- یافتن بستههای معیوب:
-
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"
هشدارها (CAVEATS)
دستور pacsift خواندن یا نخواندن بستهها از stdin را بر اساس یک بررسی ساده با استفاده از isatty(3) تعیین میکند. اگر pacsift در محیطی فراخوانی شود (مانند یک تابع پوسته یا اسکریپت استفادهشده در خط لوله) که در آن stdin به ترمینال متصل نیست اما حاوی بستههایی برای پالایش هم نیست، pacsift باید با ورودی استاندارد (stdin) بسته فراخوانی شود. در پوستههای سازگار با POSIX، این کار با "<&-" انجامپذیر است.
| 2025-12-04 | pacutils |