| DECORATE(1) | دستورهای کاربری | DECORATE(1) |
نام (NAME)
decorate - تبدیل فیلدهایی با قالبهای گوناگون
خلاصه دستور (SYNOPSIS)
decorate
[گزینه]...
[ورودی]
decorate --decorate
[گزینه]...
[ورودی]
decorate --undecorate N
[گزینه]...
[ورودی]
توضیحات (DESCRIPTION)
تبدیل (و در صورت تمایل، مرتبسازی) فیلدهایی با قالبهای گوناگون
با --decorate: فیلدهای تبدیلشده را به ابتدای هر خط افزوده و آن را در خروجی استاندارد (STDOUT) چاپ میکند؛ مرتبسازی انجام نمیدهد.
با --undecorate: تعداد N فیلد نخست را از ورودی حذف میکند؛ به عنوان گام پسپردازش پس از sort(1) به کار میرود.
بدون --decorate و --undecorate: ورودی را به طور خودکار آرایش (decorate) کرده، sort(1) را اجرا میکند و فیلدهای اضافی را از خروجی حذف (undecorate) مینماید؛ این سادهترین شیوه استفاده است. برنامه decorate امکان مرتبسازی ورودی را بر اساس ترتیبات گوناگون مانند نشانیهای IP، اعداد رومی و غیره فراهم میسازد. این برنامه در هماهنگی با sort(1) برای انجام مرتبسازی واقعی کار میکند.
این ایده توسط Pádraig Brady پیشنهاد شده بود:
۱. آرایش (Decorate):
تبدیل
ورودی به یک
قالب قابل
مرتبسازی
به عنوان
فیلدهای
اضافی
۲.
مرتبسازی
بر اساس
فیلدهای
اضافهشده
۳.
بازگردانی
(Undecorate): حذف
فیلدهای
اضافهشده
گزینهها (OPTIONS)
گزینههای عمومی:
- --decorate
- فیلدهای مشخصشده را تبدیل/آرایش کرده و خروجی را در STDOUT چاپ میکند. به طور خودکار sort(1) را اجرا نمیکند یا فیلدهای اضافی خروجی را حذف نمینماید.
- --header=N
- تعداد N خط نخست را آرایش یا مرتب نمیکند.
- -H
- همانند --header=N است.
- -k, --key=KEYDEF
- کلید/فیلد جهت مرتبسازی؛ ساختاری مشابه sort(1) دارد که در صورت تمایل پس از آن ´:method´ برای تبدیل فیلد به یک مقدار قابل مرتبسازی میآید؛ مثالها و تبدیلهای موجود را در ادامه ببینید.
- -t, --field-separator=SEP
- استفاده از SEP به جای تغییر حالت از نویسه غیرفاصله به فاصله.
- --print-sort-args
- چاپ آرگومانهای تنظیمشده برای sort(1)؛ هنگام استفاده از --decorate و سپس اجرای دستی sort(1) کاربرد دارد.
- --undecorate=N
- حذف N فیلد نخست.
- -z, --zero-terminated
- جداکننده خطوط نویسه تهی (NUL) است، نه خط جدید.
- --sort-cmd=/path/to/sort
- دستور جایگزین sort(1) برای استفاده.
- -h, --help
- نمایش این راهنما و خروج
- -V, --version
- نمایش اطلاعات نسخه و خروج
گزینههای زیر عیناً به sort ارسال میشوند (بیشتر آنها به GNU sort وابسته هستند):
-c, --check
--compress-program
--random-source
-s, --stable
--batch-size
-S, --buffer-size
-T, --temporary-directory
-u, --unique
--parallel
روشهای تبدیل موجود (جهت استفاده با -k):
- as-is
- رونویسی بدون تغییر
- roman
- اعداد رومی
- strlen
- طول (به بایت) فیلد مشخصشده
- ipv4
- نشانیهای IPv4 دهدهی نقطهدار
- ipv6
- نشانیهای IPv6
- ipv4inet
- نشانیهای عددی و نقطهای IPv4 (شامل مقادیر هشتهشتی و هگزادسیمال)
- ipv6v4map
- نشانیهای IPv6 و IPv4 (به صورت IPv4 نگاشتشده در IPv6)
- ipv6v4comp
- نشانیهای IPv6 و IPv4 (به صورت IPv4 سازگار با IPv6)
مثالها (EXAMPLES)
نمونهای از آمادهسازی برای مرتبسازی بر اساس اعداد رومی:
$ printf "%s\n" C V III IX XI | decorate -k1,1:roman --decorate 0000100 C 0000005 V 0000003 III 0000009 IX 0000011 XI
اکنون میتوان خروجی را به sort(1) ارسال کرده و سپس فیلد نخست را حذف (=undecorate) کرد:
$ printf "%s\n" C V III IX XI \
| decorate -k1,1:roman --decorate \
| sort -k1,1 \
| decorate --undecorate 1
III
V
IX
XI
C
برنامه decorate میتواند مراحل decorate-sort-undecorate را به طور خودکار ترکیب کند (هنگامی که بدون --decorate یا --undecorate اجرا شود):
$ printf "%s\n" C V III IX XI | decorate -k1,1:roman III V IX XI C
اطلاعات تکمیلی (ADDITIONAL INFORMATION)
ببینید: وبسایت GNU Datamash
نویسندگان (AUTHORS)
نوشته شده توسط Assaf Gordon، Timothy Rice، Shawn Wagner و Erik Auerswald.
حق نشر (COPYRIGHT)
حق نشر © 2025 Assaf
Gordon و Timothy Rice
مجوز GPLv3+: مجوز
عمومی گنو
نسخه ۳ یا
بالاتر
https://gnu.org/licenses/gpl.html.
این
نرمافزار
آزاد است:
شما
میتوانید
آن را تغییر
دهید یا
دوباره
توزیع کنید.
هیچ ضمانتی
وجود
ندارد، تا
حدی که
قانون
اجازه
میدهد.
همچنین ببینید (SEE ALSO)
مستندات کامل برای decorate به صورت یک کتابچه راهنمای Texinfo نگهداری میشود. اگر برنامههای info و decorate به درستی روی سیستم شما نصب شده باشند، دستور
- info decorate
باید دسترسی شما را به راهنمای کامل فراهم کند.
| April 2025 | decorate 1.9 |