DATESORT(1) دستورهای کاربری DATESORT(1)

datesort - مرتب‌سازی گاه‌شمارانه محتویات FILE.

datesort [OPTION]... [FILE]...

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

نخستین مقدار تاریخ/زمان در هر سطر کلید مرتب‌سازی است. تاریخ‌های بدون زمان مقدار کمتری نسبت به هر تاریخ/زمان در همان روز دارند. زمان‌های بدون تاریخ مقدار کمتری نسبت به هر تاریخ یا تاریخ/زمان دارند. اگر سطری شامل هیچ تاریخ یا زمان یا تاریخ/زمانی نباشد، در ابتدا قرار می‌گیرد.

گزینه‌های شناخته‌شده:

چاپ راهنما و خروج
چاپ نسخه و خروج
قالب ورودی، می‌تواند چندین بار استفاده شود. هر تاریخ/زمان به ترتیبی که مشخص شده است به تجزیه‌کننده‌های قالب ورودی ارسال خواهد شد؛ اگر یک تاریخ/زمان بتواند با یک رشته مشخص‌کننده قالب ورودی داده‌شده با موفقیت خوانده شود، از آن مقدار استفاده خواهد شد.
برای ورودی‌های با مشخصات ناکافی، از DT به عنوان پشتیبان برای پر کردن فیلدهای مفقود استفاده می‌کند. همچنین برای مشخص‌کننده‌های قالب مبهم برای تعیین موقعیت بازه آن‌ها روی محور زمان مطلق استفاده می‌شود. باید یک تاریخ/زمان در قالب ISO8601 باشد. در صورت حذف شدن، به تاریخ/زمان فعلی پیش‌فرض می‌شود.
فعال‌سازی تفسیر گریزهای ممیز وارو (backslash escapes) در رشته‌های مشخص‌کننده قالب ورودی.
تفسیر تاریخ‌ها در stdin یا خط فرمان به عنوان تاریخ‌های متعلق به محلی LOCALE؛ این گزینه تنها بر نام ماه‌ها و روزهای هفته اثر می‌گذارد، زیرا قالب‌های ورودی باید به صراحت مشخص شوند.
تفسیر تاریخ‌ها در stdin یا خط فرمان به عنوان تاریخ‌های متعلق به منطقه زمانی ZONE.
معکوس کردن ترتیب مرتب‌سازی.
چاپ حداکثر یک سطر به ازای هر مقدار تاریخ/زمان.

مشخصات قالب در dateutils شبیه به strftime() در posix است.

با این حال، به دلیل پشتیبانی از طیف گسترده‌تری از تقویم‌ها، dateutils باید قواعد متفاوتی را به کار گیرد.

مشخصات تاریخ:

%a  نام اختصاری روز هفته
%A  نام کامل روز هفته
%_a نام روز هفته کوتاه شده به یک نویسه (MTWRFAS)
%b  نام اختصاری ماه
%B  نام کامل ماه
%_b نام ماه کوتاه شده به یک نویسه (FGHJKMNQUVXZ)
%c  شمارش روز هفته در ماه (محدوده 00 تا 05)
%C  شمارش روز هفته در سال (محدوده 00 تا 53)
%d  روز ماه، ۲ رقم (محدوده 00 تا 31)
%D  روز سال، ۳ رقم (محدوده 000 تا 366)
%F  معادل %Y-%m-%d (قالب رسمی ymd)
%g  سال تقویم هفته ISO بدون قرن (محدوده 00 تا 99)
%G  سال تقویم هفته ISO شامل قرن
%j  معادل %D
%m  ماه در تقویم جاری (محدوده 00 تا 12)
%Q  فصل سال (محدوده Q1 تا Q4)
%q  شماره فصل (محدوده 01 تا 04)
%s  تعداد ثانیه‌ها از مبدا زمان (Epoch).
%u  روز هفته به عنوان عدد (محدوده 01 تا 07، یکشنبه 07 است)
%U  شمارش هفته، روز اول هفته یکشنبه است (محدوده 00 تا 53)
%V  شمارش هفته ISO، روز اول هفته دوشنبه است (محدوده 01 تا 53)
%w  روز هفته به عنوان عدد (محدوده 00 تا 06، یکشنبه 00 است)
%W  شمارش هفته، روز اول هفته دوشنبه است (محدوده 00 تا 53)
%y  سال بدون قرن (محدوده 00 تا 99)
%Y  سال شامل قرن
%_y سال کوتاه شده به یک رقم
%Z  اختلاف منطقه زمانی به ساعت و دقیقه (HH:MM) با
    علامت پیشوند (+ برای اختلاف‌های شرق UTC و - برای اختلاف‌های
    غرب UTC)
%Od روز با اعداد رومی
%Om ماه با اعداد رومی
%Oy سال دو رقمی با اعداد رومی
%OY سال شامل قرن با اعداد رومی
%rs در سامانه‌های زمانی که مبدا آن‌ها متفاوت از مبدا یونیکس است، این
    گزینه تعداد ثانیه‌ها از آن زمان را انتخاب می‌کند.
%rY در گاه‌شماری‌هایی با سال‌هایی که با سال‌های میلادی همپوشانی ندارند،
    این گزینه سال تقویم را انتخاب می‌کند.
%dth  روز ماه به عنوان یک عدد ترتیبی، 1st، 2nd، 3rd و غیره
%mth  ماه سال به عنوان یک عدد ترتیبی، 1st، 2nd، 3rd و غیره
%db روز کاری ماه (از آخرین روز کاری ماه قبل)
%dB تعداد روزهای کاری تا آخرین روز کاری این ماه

مشخصات زمان:

%H  ساعت روز در قالب ۲۴ ساعته، ۲ رقم (محدوده 00 تا 23)
%I  ساعت روز در قالب ۱۲ ساعته، ۲ رقم (محدوده 01 تا 12)
%M  دقیقه (محدوده 00 تا 59)
%N  نانوثانیه‌ها (محدوده 000000000 تا 999999999)
%p  رشته AM یا PM، ظهر PM و نیمه‌شب AM است.
%P  مانند %p اما با حروف کوچک
%S  ثانیه (محدوده 00 تا 60، 60 برای ثانیه‌های کبیسه است)
%T  معادل %H:%M:%S

مشخصات عمومی:

%n  یک نویسه خط جدید
%t  یک نویسه تب
%%  یک نویسه لفظی %

اصلاح‌کننده‌ها:

%O  اصلاح‌کننده برای تبدیل اعداد ده‌دهی به اعداد رومی
%r  اصلاح‌کننده برای تبدیل واحدها به واحدهای واقعی
%0  اصلاح‌کننده برای فعال کردن پیشوندهای صفر
%SPC  اصلاح‌کننده برای فعال کردن پیشوندهای فاصله
%-  اصلاح‌کننده برای غیرفعال کردن کامل پیشوندها
th  پسوند، خواندن و چاپ اعداد ترتیبی
b   پسوند، در نظر گرفتن روزها به عنوان روزهای کاری

طبق طراحی، تاریخ‌های قبل از 1601-01-01 پشتیبانی نمی‌شوند.

جهت تطابق، در اینجا فهرستی از شناسه‌های تقویم و رشته قالب متناظر با آن‌ها آورده شده است:

ymd     %Y-%m-%d
ymcw    %Y-%m-%c-%w
ywd     %rY-W%V-%u
bizda   %Y-%m-%db
lilian     n/a
ldn        n/a
julian     n/a
jdn        n/a
matlab     n/a
mdn        n/a

این شناسه‌ها می‌توانند به عنوان رشته قالب خروجی استفاده شوند؛ علاوه بر این، @code{lilian}/@code{ldn} و @code{julian}/@code{jdn} نیز می‌توانند به عنوان رشته قالب ورودی استفاده شوند.

$ datesort < "$@{srcdir@}/caev_01.txt"
2009-06-03 caev="DVCA" secu="VOD" exch="XLON" xdte="2009-06-03" nett/GBX="5.2"
2010-11-17 caev="DVCA" secu="VOD" exch="XLON" xdte="2010-11-17" nett/GBX="2.85"
2011-11-16 caev="DVCA" secu="VOD" exch="XLON" xdte="2011-11-16" nett/GBX="3.05"
2012-06-06 caev="DVCA" secu="VOD" exch="XLON" xdte="2012-06-06" nett/GBX="6.47"
2013-06-12 caev="DVCA" secu="VOD" exch="XLON" xdte="2013-06-12" nett/GBX="6.92"
2013-11-20 caev="DVCA" secu="VOD" exch="XLON" xdte="2013-11-20" nett/GBX="3.53"
$
$ datesort "$@{srcdir@}/caev_01.txt"
2009-06-03 caev="DVCA" secu="VOD" exch="XLON" xdte="2009-06-03" nett/GBX="5.2"
2010-11-17 caev="DVCA" secu="VOD" exch="XLON" xdte="2010-11-17" nett/GBX="2.85"
2011-11-16 caev="DVCA" secu="VOD" exch="XLON" xdte="2011-11-16" nett/GBX="3.05"
2012-06-06 caev="DVCA" secu="VOD" exch="XLON" xdte="2012-06-06" nett/GBX="6.47"
2013-06-12 caev="DVCA" secu="VOD" exch="XLON" xdte="2013-06-12" nett/GBX="6.92"
2013-11-20 caev="DVCA" secu="VOD" exch="XLON" xdte="2013-11-20" nett/GBX="3.53"
$
$ datesort -r < "$@{srcdir@}/caev_01.txt"
2013-11-20 caev="DVCA" secu="VOD" exch="XLON" xdte="2013-11-20" nett/GBX="3.53"
2013-06-12 caev="DVCA" secu="VOD" exch="XLON" xdte="2013-06-12" nett/GBX="6.92"
2012-06-06 caev="DVCA" secu="VOD" exch="XLON" xdte="2012-06-06" nett/GBX="6.47"
2011-11-16 caev="DVCA" secu="VOD" exch="XLON" xdte="2011-11-16" nett/GBX="3.05"
2010-11-17 caev="DVCA" secu="VOD" exch="XLON" xdte="2010-11-17" nett/GBX="2.85"
2009-06-03 caev="DVCA" secu="VOD" exch="XLON" xdte="2009-06-03" nett/GBX="5.2"
$
$ datesort -r "$@{srcdir@}/caev_01.txt"
2013-11-20 caev="DVCA" secu="VOD" exch="XLON" xdte="2013-11-20" nett/GBX="3.53"
2013-06-12 caev="DVCA" secu="VOD" exch="XLON" xdte="2013-06-12" nett/GBX="6.92"
2012-06-06 caev="DVCA" secu="VOD" exch="XLON" xdte="2012-06-06" nett/GBX="6.47"
2011-11-16 caev="DVCA" secu="VOD" exch="XLON" xdte="2011-11-16" nett/GBX="3.05"
2010-11-17 caev="DVCA" secu="VOD" exch="XLON" xdte="2010-11-17" nett/GBX="2.85"
2009-06-03 caev="DVCA" secu="VOD" exch="XLON" xdte="2009-06-03" nett/GBX="5.2"
$
$ datesort -u < "$@{srcdir@}/caev_02.txt"
2009-06-03 caev="DVCA" secu="VOD" exch="XLON" xdte="2009-06-03" nett/GBX="5.2"
2010-11-17 caev="XXXX" secu="VOD" exch="XLON" xdte="2010-11-17"
2011-11-16 caev="DVCA" secu="VOD" exch="XLON" xdte="2011-11-16" nett/GBX="3.05"
2012-06-06 caev="DVCA" secu="VOD" exch="XLON" xdte="2012-06-06" nett/GBX="6.47"
2013-06-12 caev="DVCA" secu="VOD" exch="XLON" xdte="2013-06-12" nett/GBX="6.92"
2013-11-20 caev="DVCA" secu="VOD" exch="XLON" xdte="2013-11-20" nett/GBX="3.53"
$
$ datesort -u "$@{srcdir@}/caev_02.txt"
2009-06-03 caev="DVCA" secu="VOD" exch="XLON" xdte="2009-06-03" nett/GBX="5.2"
2010-11-17 caev="XXXX" secu="VOD" exch="XLON" xdte="2010-11-17"
2011-11-16 caev="DVCA" secu="VOD" exch="XLON" xdte="2011-11-16" nett/GBX="3.05"
2012-06-06 caev="DVCA" secu="VOD" exch="XLON" xdte="2012-06-06" nett/GBX="6.47"
2013-06-12 caev="DVCA" secu="VOD" exch="XLON" xdte="2013-06-12" nett/GBX="6.92"
2013-11-20 caev="DVCA" secu="VOD" exch="XLON" xdte="2013-11-20" nett/GBX="3.53"
$

نوشته‌شده توسط Sebastian Freundt <freundt@fresse.org>

گزارش باگ‌ها به: https://github.com/hroptatyr/dateutils/issues

مستندات کامل برای datesort به عنوان یک راهنمای Texinfo نگهداری می‌شود. اگر برنامه‌های info و datesort به‌درستی روی سیستم شما نصب شده باشند، دستور

info (dateutils)datesort

باید دسترسی شما را به راهنمای کامل فراهم کند.

مه 2024 dateutils 0.4.11