นี่คือคำสั่ง dateutils.dgrep ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
dgrep - อินพุตมาตรฐานของ Grep สำหรับบรรทัดที่ตรงกับ EXPRESSION
เรื่องย่อ
ดีเกรป [ทางเลือกที่]... การแสดงออก
DESCRIPTION
อินพุตมาตรฐาน Grep สำหรับบรรทัดที่ตรงกับ EXPRESSION
EXPRESSION อาจเป็นวันที่/เวลาที่นำหน้าด้วยโอเปอเรเตอร์ `<', `<=', '=', '>=' ซึ่งจะ
จับคู่บรรทัดที่มีวันที่/เวลาที่เก่ากว่า แก่กว่า เท่ากัน ใหม่กว่า ใหม่กว่า หรือ
ไม่เท่ากันตามลำดับ
EXPRESSION อาจเป็นตัวระบุรูปแบบที่เติมโดยตัวดำเนินการด้านบนและต่อท้ายด้วย a
ค่า (เช่น `%a="พุธ"') ซึ่งตรงกับบรรทัดที่มีการแสดง %a (ชื่อวันทำงาน
ย่อ) คือ "พุธ"
EXPRESSION อาจเป็นข้อความตามที่อธิบายไว้ข้างต้นที่ต่อกันผ่าน `&&' (for
ร่วม) หรือ `||' (disjunction) ซึ่งทั้งสองอย่างอาจวงเล็บตามปกติถึง
เปลี่ยนลำดับความสำคัญ (`&&' ทับ `||')
หากมีวัน/เวลาหลายรายการในบรรทัดเดียวกันและรายการใดรายการหนึ่งตรงตามเกณฑ์
จากนั้นเส้นจะถือว่าเป็นการแข่งขันและจะออก
หมายเหตุ
การดำเนินการสามารถระบุได้ด้วยตัวเลือก (--eq, --gt, ...) เช่นกัน
นี่เป็นเพียงวิธีการอำนวยความสะดวกเท่านั้น เช่น เครื่องมือ dtest มี a
ไวยากรณ์ที่คล้ายกัน
ได้รับการยอมรับ ทางเลือกที่s:
-h, --ช่วยด้วย
พิมพ์วิธีใช้และออก
-V, --รุ่น
พิมพ์เวอร์ชันและออก
-q, --เงียบ
ระงับข้อความเกี่ยวกับข้อผิดพลาดในการแยกวิเคราะห์วันที่/เวลาและระยะเวลา
-i, --input-รูปแบบ=STRING...
รูปแบบการป้อนข้อมูล สามารถใช้ได้หลายครั้ง แต่ละวัน/เวลาจะถูกส่งต่อไปยัง
ตัวแยกวิเคราะห์รูปแบบอินพุตตามลำดับที่ได้รับ หากสามารถอ่านวันที่/เวลาได้
สำเร็จด้วยสตริงตัวระบุรูปแบบอินพุตที่กำหนด ค่านั้นจะถูกใช้
-e, --แบ็กสแลช-หนี
เปิดใช้งานการตีความแบ็คสแลช Escape ในเอาต์พุตและตัวระบุรูปแบบอินพุต
เงื่อนไข
-o, --การจับคู่เท่านั้น
แสดงเฉพาะส่วนของบรรทัดที่ตรงกับ DATE
-v, --invert-ตรง
เลือกบรรทัดที่ไม่ตรงกัน
--จาก-โซน=โซน
พิจารณาวันที่/เวลาบน stdin ว่ามาจากโซน ZONE ค่าเริ่มต้น: UTC
-z, --โซน=โซน
พิจารณาวันที่/เวลาใน EXPRESSION ว่ามาจากโซน ZONE ค่าเริ่มต้น: UTC
--eq เส้นตรงเมื่อวันที่/เวลาเท่ากับ EXPRESSION
--เน่ เส้นจะตรงกันเมื่อวันที่/เวลาไม่เหมือนกับ EXPRESSION
--gt เส้นจะตรงกันเมื่อวันที่/เวลาใหม่กว่า EXPRESSION
--ล เส้นจะตรงกันเมื่อวันที่/เวลาเก่ากว่า EXPRESSION
--จ เส้นจะตรงกันเมื่อวันที่/เวลาใหม่กว่าหรือเท่ากับ EXPRESSION
--เล เส้นจะตรงกันเมื่อวันที่/เวลาเก่ากว่าหรือเท่ากับ EXPRESSION
--ไม่ เส้นจะตรงกันเมื่อวันที่/เวลาใหม่กว่าหรือเท่ากับ EXPRESSION
--อต เส้นจะตรงกันเมื่อวันที่/เวลาเก่ากว่าหรือเท่ากับ EXPRESSION
FORMAT SPECS
ข้อกำหนดรูปแบบใน dateutils นั้นคล้ายกับ strftime() ของ posix
อย่างไรก็ตาม เนื่องจาก dateutil ปฏิทินที่รองรับได้หลากหลายขึ้นจึงต้องใช้ dateutil ที่แตกต่างกัน
กฎระเบียบ
รายละเอียดวันที่:
%a ชื่อย่อวันทำงาน
%A ชื่อเต็มวันทำงาน
%_a ชื่อวันทำงานถูกย่อให้เหลืออักขระตัวเดียว (MTWRFAS)
%b ชื่อเดือนย่อ
%B ชื่อเดือนเต็ม
%_b ชื่อเดือนย่อให้เหลืออักขระตัวเดียว (FGHJKMNQUVXZ)
%c จำนวนวันทำงานภายในเดือน (ช่วง 00 ถึง 05)
%C นับวันทำงานภายในปี (ช่วง 00 ถึง 53)
%d วันของเดือน 2 หลัก (ช่วง 00 ถึง 31)
%D วันของปี 3 หลัก (ช่วง 000 ถึง 366)
%F เทียบเท่ากับ %Y-%m-%d (รูปแบบบัญญัติของ ymd)
%j เทียบเท่ากับ %D
%m เดือนในปฏิทินปัจจุบัน (ช่วง 00 ถึง 19)
%Q ไตรมาสของปี (ช่วง Q1 ถึง Q4)
%q จำนวนไตรมาส (ช่วง 01 ถึง 04)
%s จำนวนวินาทีนับตั้งแต่ยุค
%u วันทำงานเป็นตัวเลข (ช่วง 01 ถึง 07 วันอาทิตย์เป็น 07)
%U นับสัปดาห์ วันในสัปดาห์คือ อา (ช่วง 00 ถึง 53)
%V จำนวนสัปดาห์ ISO วันในสัปดาห์คือจันทร์ (ช่วง 01 ถึง 53)
%w วันทำงานเป็นตัวเลข (ช่วง 00 ถึง 06 วันอาทิตย์เป็น 00)
%W นับสัปดาห์ วันในสัปดาห์คือ จันทร์ (ช่วง 00 ถึง 53)
%y ปีที่ไม่มีศตวรรษ (ช่วง 00 ถึง 99)
%Y ปีรวมทั้งศตวรรษ
%Z โซนออฟเซ็ตเป็นชั่วโมงและนาที (HH:MM) ด้วย
เครื่องหมายนำหน้า (+ สำหรับออฟเซ็ตทางตะวันออกของ UTC - สำหรับออฟเซ็ต
ทางตะวันตกของ UTC)
%Od วันเป็นเลขโรมัน
%Om เดือนเป็นเลขโรมัน
%Oy ปีสองหลักเป็นเลขโรมัน
%OY ปีรวมทั้งศตวรรษเป็นเลขโรมัน
%rs ระบบ In time ที่ Epoch แตกต่างจาก Unix Epoch นี้
เลือกจำนวนวินาทีตั้งแต่นั้นมา
%rY ในปฏิทินที่มีปีที่ไม่ตรงกับคริสต์ศักราช
ปี ซึ่งจะเลือกปีของปฏิทิน
%dth วันของเดือนเป็นเลขลำดับที่ 1, 2, 3 เป็นต้น
%mth เดือนของปีเป็นเลขลำดับ ที่ 1 ที่ 2 ที่ 3 เป็นต้น
%db วันทำการของเดือน (ตั้งแต่วันสุดท้ายของเดือนที่แล้ว)
%dB จำนวนวันทำการจนถึงสิ้นเดือนนี้
ข้อกำหนดเวลา:
%H ชั่วโมงของวันโดยใช้นาฬิกาแบบ 24 ชั่วโมง 2 หลัก (ช่วง 00 ถึง 23)
%I ชั่วโมงของวันโดยใช้นาฬิกาแบบ 12 ชั่วโมง 2 หลัก (ช่วง 01 ถึง 12)
%M นาที (ช่วง 00 ถึง 59)
%N นาโนวินาที (ช่วง 000000000 ถึง 999999999)
%p สตริง AM หรือ PM เที่ยงคือ PM และเที่ยงคืนคือ AM
%P ชอบ %p แต่เป็นตัวพิมพ์เล็ก
%S The (ช่วง 00 ถึง 60, 60 เป็นวินาทีอธิกสุรทิน)
%T เทียบเท่ากับ %H:%M:%S
ข้อกำหนดทั่วไป:
%n อักขระขึ้นบรรทัดใหม่
%t อักขระแท็บ
%% ตัวอักษร% ตัวอักษร
ตัวดัดแปลง:
%O Modifier เพื่อเปลี่ยนตัวเลขทศนิยมให้เป็นเลขโรมัน
%r Modifier เพื่อเปลี่ยนยูนิตให้เป็นยูนิตจริง
th คำต่อท้าย อ่านและพิมพ์เลขลำดับ
ข ต่อท้าย ถือวันเป็นวันทำการ
ตามวันที่ออกแบบก่อน 1601-01-01 ไม่ได้รับการสนับสนุน
เพื่อความสอดคล้อง นี่คือรายชื่อผู้กำหนดปฏิทินและรูปแบบที่สอดคล้องกัน
สตริง:
ymd %Y-%m-%d
ymcw %Y-%m-%c-%w
วว %rY-W%V-%u
บิซดา %Y-%m-%db
ลิเลียน n/a
ไม่มีข้อมูล
จูเลียน n/a
jdn ไม่มี
ตัวกำหนดเหล่านี้สามารถใช้เป็นสตริงรูปแบบเอาต์พุต นอกจากนี้ @code{lilian}/@code{ldn}
และ @code{julian}/@code{jdn} สามารถใช้เป็นสตริงรูปแบบอินพุตได้เช่นกัน
ตัวอย่าง
$ dgrep 2012-03-01 <
2012-02-28
2012-02-29
2012-03-01
2012-03-02
EOF
2012-03-01
$
$ dgrep '<2012-03-01' <
2012-02-28
2012-02-29
2012-03-01
2012-03-02
EOF
2012-02-28
2012-02-29
$
$ dgrep =2012-03-01 <
2012-02-28
2012-02-29
2012-03-01
2012-03-02
EOF
2012-02-28
2012-02-29
2012-03-02
$
$ dgrep =2012-03-01 <
ก.พ. 2012-02-28
ก.พ. 2012-02-29 วันอธิกสุรทิน
มี.ค. 2012-03-01
มี.ค. 2012-03-02
EOF
มี.ค. 2012-03-01
$
$ dgrep -o <2012-03-01 <
ก.พ. 2012-02-28
ก.พ. 2012-02-29 วันอธิกสุรทิน
มี.ค. 2012-03-01
มี.ค. 2012-03-02
EOF
2012-02-28
2012-02-29
$
$ dgrep '>=12:00:00' <
ไฟล์A 11:59:58
fileB 11:59:59 กระโดด ?
fileNOON 12:00:00 เวอร์ชั่นใหม่
ไฟล์ C 12:03:12
EOF
fileNOON 12:00:00 เวอร์ชั่นใหม่
ไฟล์ C 12:03:12
$
$ dgrep -o '>=12:00:00' <
ไฟล์A 11:59:58
fileB 11:59:59 กระโดด ?
fileNOON 12:00:00 เวอร์ชั่นใหม่
ไฟล์ C 12:03:12
EOF
12:00:00
12:03:12
$
$ dgrep 2012-03-01 <
2012-02-28T10:00:00
2012-02-29T10:00:00
2012-03-01T10:00:00
2012-03-02T10:00:00
EOF
2012-03-01T10:00:00
$
$ dgrep '<2012-03-01' <
2012-02-28T10:00:00
2012-02-29T10:00:00
2012-03-01T10:00:00
2012-03-02T10:00:00
EOF
2012-02-28T10:00:00
2012-02-29T10:00:00
$
$ dgrep 2012-03-01T10:00:00 <
2012-02-28T10:00:00
2012-02-29T10:00:00
2012-03-01T10:00:00
2012-03-02T10:00:00
EOF
2012-03-01T10:00:00
$
$ dgrep '<2012-03-01T14:00:00' <
2012-02-28T10:00:00
2012-02-29T10:00:00
2012-03-01T10:00:00
2012-03-02T10:00:00
EOF
2012-02-28T10:00:00
2012-02-29T10:00:00
2012-03-01T10:00:00
$
ใช้ dateutils.dgrep ออนไลน์โดยใช้บริการ onworks.net