นี่คือคำสั่ง tv_grepp ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
tv_grep - กรองโปรแกรมและช่องจากไฟล์รายการ XMLTV
เรื่องย่อ
"tv_grep [--help] [--output FILE] [--ignore-case|-i] (EXPR | REGEXP) [FILE...]"
DESCRIPTION
อ่านข้อมูลรายการ XMLTV และเขียนข้อมูลที่มีบางโปรแกรมและ
ช่องทางเดิม. รายการและช่องใดที่เหลืออยู่ในเอาต์พุตคือ
ควบคุมโดยนิพจน์ regexp หรือบูลีนที่กำหนด
ใช้งานง่ายคือ tv_grep REGEXP [ไฟล์...]ที่นี่มี REGEXP เป็นนิพจน์ทั่วไปของ Perl 5 (ดู
เพิร์ล(1)). นี้พบทั้งหมด องค์ประกอบที่มีข้อความที่ตรงกับ regexp NS
ช่องต่างๆ จะไม่เปลี่ยนแปลง นั่นคือ . ทั้งหมด องค์ประกอบจะถูกส่งออก
สำหรับการค้นหาขั้นสูง คุณสามารถระบุนิพจน์บูลีน (ซึ่งตามอย่างหลวมๆ
สไตล์ของ พบ(1)). มีการทดสอบมากมายสำหรับการจับคู่เนื้อหาของโปรแกรมกับ a
นิพจน์ทั่วไป สองสามช่องสำหรับจับคู่ช่องและโปรแกรมในช่องเหล่านั้น และ a
การทดสอบพิเศษบางอย่าง
OPTIONS
--เอาท์พุท ไฟล์ เขียนไปที่ FILE แทนที่จะเป็นเอาต์พุตมาตรฐาน
--ละเว้นกรณี, -i ถือว่าการจับคู่นิพจน์ทั่วไปทั้งหมดไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
การแสดงออก
หลักสูตร เนื้อหา ทดสอบ
การทดสอบเนื้อหาโปรแกรมตรงกับคุณลักษณะเฉพาะหรือองค์ประกอบย่อยของ
องค์ประกอบในข้อมูล XML การทดสอบแต่ละครั้งมีชื่อเหมือนกับแอตทริบิวต์หรือ
องค์ประกอบที่ตรงกัน ตัวที่ใช้ regexp เป็นอาร์กิวเมนต์ตรงกันถ้าโปรแกรม
มีอย่างน้อยหนึ่งแอตทริบิวต์หรือองค์ประกอบที่มีชื่อเดียวกันซึ่งมีเนื้อหาตรงกับ
regexp รายการที่ไม่จับคู่ regexp หากโปรแกรมมีเพียงหนึ่งหรือ
คุณลักษณะหรือองค์ประกอบเพิ่มเติมของชื่อนั้น
องค์ประกอบบางอย่างอาจมีหรือไม่มีเนื้อหา แต่อาจว่างเปล่า ประจำ
นิพจน์ '' (สตริงว่าง) จับคู่องค์ประกอบใด ๆ แม้แต่องค์ประกอบที่มีเนื้อหาว่างเปล่าในขณะที่a
นิพจน์ทั่วไป nonempty จับคู่เฉพาะกับเนื้อหา
ตัวอย่างเช่น --รายละเอียด การแข่งรถ ตรงกับโปรแกรมถ้าโปรแกรมมีอย่างน้อยหนึ่ง
องค์ประกอบที่มีเนื้อหาที่มี 'การแข่งรถ' --หยุด '' (อาร์กิวเมนต์ที่สองว่างเปล่า
string) จับคู่โปรแกรมหากโปรแกรมให้เวลาหยุด
มีองค์ประกอบบางอย่างที่สามารถจับคู่ได้เฉพาะใช่/ไม่ใช่ ซึ่งคุณไม่สามารถให้
regexp เพื่อสืบค้นเนื้อหาขององค์ประกอบ สำหรับวินาทีนี้ '' อาร์กิวเมนต์เป็นข้อบังคับ
ตัวอย่างเช่น --แสดงไว้ก่อนหน้านี้ '' จะจับคู่โปรแกรมที่มีองค์ประกอบนั้น แต่ a
การทดสอบของ --แสดงไว้ก่อนหน้านี้ foo จะทำให้เกิดข้อผิดพลาดเนื่องจากการสืบค้นเนื้อหาของ
ไม่ได้ดำเนินการที่แสดงไว้ก่อนหน้านี้ อาร์กิวเมนต์สตริงว่างเพิ่มเติมคือปล่อยให้
ห้องสำหรับการขยายตัวในอนาคต
การทดสอบเนื้อหาสร้างขึ้นจากรูปแบบไฟล์ XMLTV โปรแกรมชุดปัจจุบัน
การทดสอบเนื้อหาคือ:
--เสียง ''
--หมวดหมู่ REGEXP
--ช่อง REGEXP
--คลัมปิดซ์ REGEXP
--ประเทศ REGEXP
--เครดิต ''
--วันที่ REGEXP
--รายละเอียด REGEXP
--ตอน-จำนวน ''
--ไอคอน ''
--คำสำคัญ REGEXP
--ภาษา REGEXP
--โอกาสสุดท้าย REGEXP
--ระยะเวลา ''
--ใหม่
--Orig-ภาษา REGEXP
--pdc-เริ่มต้น REGEXP
--รอบปฐมทัศน์ REGEXP
--แสดงไว้ก่อนหน้านี้ ''
--การให้คะแนน ''
--showview REGEXP
--star-คะแนน ''
--เริ่ม REGEXP
--หยุด REGEXP
--ชื่อย่อย REGEXP
--คำบรรยาย ''
--ชื่อ REGEXP
--url REGEXP
--วิดีโอ ''
--วิดีโอพลัส REGEXP
--vps-เริ่ม REGEXP
ในขณะที่ทุกคุณลักษณะและองค์ประกอบย่อยของ องค์ประกอบรวมอยู่ในข้างต้น
รายการสำหรับบางคนโดยปกติสะดวกกว่าที่จะใช้การทดสอบพิเศษที่อธิบายไว้
ด้านล่าง
CHANNEL ทดสอบ
มีการทดสอบสองช่อง ตัวกรองเหล่านี้ทั้ง และ องค์ประกอบ:
หากช่องถูกกรองออก โปรแกรมทั้งหมดในช่องนั้นก็เช่นกัน
--ชื่อช่อง REGEXP จริงถ้าช่องมี a ซึ่งมีเนื้อหาตรงกับ REGEXP
--channel-id CHANNEL_ID เป็นจริงหากรหัส XMLTV ของช่องเท่ากับ CHANNEL_ID ทุกประการ
เวลา ทดสอบ
โดยปกติ คุณไม่ต้องการทดสอบสตริงเวลาด้วยนิพจน์ทั่วไปแต่ให้เปรียบเทียบ
พวกเขากับเวลาอื่น มีสองการทดสอบสำหรับสิ่งนี้
--on-หลัง วัน เป็นจริงหากรายการจะออกอากาศในหรือหลัง DATE หรือจะร่วมรายการ
ของการออกอากาศในวันที่ DATE (หมายเหตุ: โปรแกรมถือว่าเป็น
ออกอากาศตั้งแต่เวลาเริ่มต้น จนถึงแต่ไม่รวมเวลาหยุด) DATE สามารถ
ให้ในรูปแบบวันที่มีเหตุผล แต่ถ้าคุณไม่ระบุเขตเวลา ระบบจะถือว่า UTC
หากต้องการลบโปรแกรมทั้งหมดที่คุณพลาดไป ให้ลอง --on-หลัง ตอนนี้.
--เมื่อก่อน วัน จริงหากรายการจะออกอากาศทั้งหมดก่อน DATE หรือหากจะออกอากาศ
ร่วมเป็นส่วนหนึ่งในการออกอากาศในวันที่ DATE เพื่อลบโปรแกรมทั้งหมดที่
ยังไม่เริ่มออกอากาศ ลอง --เมื่อก่อน ตอนนี้. คุณสามารถใช้ได้ --เมื่อก่อน และ
--on-หลัง ร่วมกันเพื่อค้นหารายการทั้งหมดที่ออกอากาศในช่วงเวลาหนึ่ง
อีกวิธีหนึ่งในการคิดเกี่ยวกับการทดสอบทั้งสองนี้ก็คือ --on-หลัง ตอนนี้ ให้ 'โปรแกรมทั้งหมด
คุณยังสามารถดูได้ แม้ว่าอาจจะดูแค่ตอนจบเท่านั้น' --เมื่อก่อน ตอนนี้
ให้ 'โปรแกรมทั้งหมดที่คุณอาจเคยเห็น แม้ว่าจะเป็นเพียงการเริ่มต้นก็ตาม'
--ประเมิน รหัส ประเมิน CODE เป็นรหัส Perl ใช้ค่าที่ส่งคืนเพื่อตัดสินใจว่าจะเก็บ
โปรแกรม. รหัส Perl จะได้รับข้อมูลโปรแกรมใน $_ ในรูปแบบแฮช XMLTV.pm
(ดู XMLTV) รหัสสามารถแก้ไขโปรแกรมที่ส่งเข้ามาได้จริงซึ่งสามารถใช้สำหรับ
การแก้ไขอย่างรวดเร็ว ตัวเลือกนี้ไม่ได้มีไว้สำหรับการใช้งานปกติ แต่เป็นทางหนีในกรณีที่ไม่มี
ของการทดสอบที่มีอยู่คือสิ่งที่คุณต้องการ หากคุณพัฒนาบิตโค้ดที่เป็นประโยชน์ โปรด
ส่งเพื่อรวมเป็นการทดสอบใหม่
ตรรกะ ผู้ประกอบการ
EXPR1 --และ EXPR2, EXPR1 -และ EXPR2, EXPR1 EXPR2
EXPR1 --หรือ EXPR2, EXPR1 หรือ EXPR2
--ไม่ expr, -ไม่ expr, ! expr
ของเหล่านี้ 'ไม่' ผูกแน่นที่สุด ส่งผลกระทบต่อภาคแสดงต่อไปนี้เท่านั้น 'และ' ต่อไป
และ 'หรือ' ผูกหลวมที่สุด
ใช้ tv_grepp ออนไลน์โดยใช้บริการ onworks.net