ນີ້ແມ່ນຄໍາສັ່ງ tv_grepp ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນສະຖານີເຮັດວຽກອອນໄລນ໌ຟຣີຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
tv_grep - ກັ່ນຕອງບັນດາລາຍການ ແລະຊ່ອງຕ່າງໆຈາກໄຟລ໌ລາຍຊື່ XMLTV.
ສະຫຼຸບສັງລວມ
"tv_grep [--help] [--output FILE] [--ignore-case|-i] (EXPR | REGEXP) [FILE...]"
ລາຍລະອຽດ
ອ່ານຂໍ້ມູນລາຍຊື່ XMLTV ແລະຂຽນຂໍ້ມູນທີ່ມີບາງໂຄງການແລະ
ຊ່ອງຈາກຕົ້ນສະບັບ. ໂຄງການໃດແລະຊ່ອງທາງທີ່ຖືກປະໄວ້ຢູ່ໃນຜົນຜະລິດແມ່ນ
ຄວບຄຸມໂດຍການສະແດງອອກ regexp ຫຼື Boolean ທີ່ມອບໃຫ້.
ການນໍາໃຊ້ງ່າຍດາຍແມ່ນ tv_grep REGEXP [ໄຟລ໌...], ບ່ອນທີ່ REGEXP ແມ່ນການສະແດງອອກປົກກະຕິ Perl 5 (ເບິ່ງ
perlre(1)). ນີ້ພົບເຫັນທັງຫມົດ ອົງປະກອບທີ່ມີຂໍ້ຄວາມທີ່ກົງກັບ regexp. ໄດ້
ຊ່ອງທາງຖືກປະໄວ້ບໍ່ປ່ຽນແປງ, ນັ້ນແມ່ນ, ທັງຫມົດ ອົງປະກອບແມ່ນຜົນຜະລິດ.
ສໍາລັບການຄົ້ນຫາແບບພິເສດ, ທ່ານສາມາດກໍານົດການສະແດງອອກຂອງ Boolean (ຊຶ່ງເປັນດັ່ງຕໍ່ໄປນີ້ວ່າງ
ແບບຂອງ ຊອກຫາ(1)). ມີການທົດສອບຈໍານວນຫຼາຍສໍາລັບການຈັບຄູ່ເນື້ອໃນໂຄງການຕໍ່ກັບ a
ການສະແດງອອກເປັນປົກກະຕິ, ຈໍານວນຫນ້ອຍສໍາລັບການຈັບຄູ່ຊ່ອງທາງແລະໂຄງການໃນຊ່ອງທາງເຫຼົ່ານັ້ນ, ແລະ a
ການທົດສອບພິເສດຈໍານວນຫນ້ອຍ.
OPTIONS
-- ຜົນຜະລິດ ເອກະສານ ຂຽນໃສ່ FILE ແທນຜົນໄດ້ຮັບມາດຕະຖານ.
-- ignore-case, -i ປະຕິບັດການຈັບຄູ່ການສະແດງອອກປົກກະຕິທັງໝົດເປັນກໍລະນີທີ່ບໍ່ລະອຽດອ່ອນ.
ການສະແດງອອກ
PROGRAM ເນື້ອໃນ TESTS
ການທົດສອບສໍາລັບເນື້ອໃນໂຄງການກົງກັບຄຸນລັກສະນະສະເພາະຫຼືອົງປະກອບຍ່ອຍຂອງ
ອົງປະກອບໃນຂໍ້ມູນ XML. ແຕ່ລະການທົດສອບແມ່ນມີຊື່ດຽວກັນກັບຄຸນລັກສະນະຫຼື
ອົງປະກອບມັນກົງກັນ. ຜູ້ທີ່ເອົາ regexp ເປັນການໂຕ້ຖຽງທີ່ກົງກັນຖ້າໂຄງການ
ມີຢ່າງໜ້ອຍໜຶ່ງຄຸນສົມບັດ ຫຼືອົງປະກອບຂອງຊື່ດຽວກັນທີ່ເນື້ອຫາກົງກັບ
regexp. ຜູ້ທີ່ບໍ່ໄດ້ຈັບຄູ່ regexp ຖ້າໂຄງການພຽງແຕ່ປະກອບດ້ວຍຫນຶ່ງຫຼື
ຄຸນລັກສະນະ ຫຼືອົງປະກອບຂອງຊື່ນັ້ນຫຼາຍຂຶ້ນ.
ບາງອົງປະກອບອາດຈະມີຫຼືບໍ່ມີເນື້ອຫາ - ພວກມັນພຽງແຕ່ຫວ່າງເປົ່າ. ປົກກະຕິ
expression '' (ສະຕຣິງຫວ່າງເປົ່າ) ກົງກັບອົງປະກອບໃດໆ, ເຖິງແມ່ນວ່າຫນຶ່ງທີ່ມີເນື້ອຫາຫວ່າງເປົ່າ, ໃນຂະນະທີ່ a
ການສະແດງອອກປົກກະຕິ nonempty ກົງກັບພຽງແຕ່ຜູ້ທີ່ມີເນື້ອຫາ.
ຍົກຕົວຢ່າງ, --desc ແຂ່ງລົດ ກົງກັບໂຄງການໃດນຶ່ງ ຖ້າໂຄງການມີຢ່າງໜ້ອຍນຶ່ງອັນ
ອົງປະກອບທີ່ມີເນື້ອໃນ 'ການແຂ່ງລົດ'. --ຢຸດ '' (ການໂຕ້ຖຽງທີສອງແມ່ນຫວ່າງເປົ່າ
string) ກົງກັບໂປຣແກມ ຖ້າໂປຣແກຣມໃຫ້ເວລາຢຸດ.
ມີບາງອົງປະກອບທີ່ມີພຽງແຕ່ແມ່ນ / ບໍ່ແມ່ນການຈັບຄູ່ທີ່ເປັນໄປໄດ້, ບ່ອນທີ່ທ່ານບໍ່ສາມາດໃຫ້
regexp ເພື່ອສອບຖາມເນື້ອຫາຂອງອົງປະກອບ. ສໍາລັບການເຫຼົ່ານີ້ຄັ້ງທີສອງ '' ການໂຕ້ຖຽງແມ່ນບັງຄັບ.
ຍົກຕົວຢ່າງ -- ສະແດງໃຫ້ເຫັນກ່ອນຫນ້ານີ້ '' ຈະກົງກັບໂຄງການທີ່ມີອົງປະກອບນັ້ນ, ແຕ່ a
ການທົດສອບຂອງ -- ສະແດງໃຫ້ເຫັນກ່ອນຫນ້ານີ້ ຟູ ຈະໃຫ້ຄວາມຜິດພາດເນື່ອງຈາກວ່າການສອບຖາມເນື້ອໃນຂອງ
ສະແດງໃຫ້ເຫັນກ່ອນຫນ້ານີ້ບໍ່ໄດ້ປະຕິບັດ. ການໂຕ້ຖຽງສະຕຣິງຫວ່າງເພີ່ມເຕີມແມ່ນການອອກໄປ
ຫ້ອງສໍາລັບການຂະຫຍາຍຕົວໃນອະນາຄົດ.
ການທົດສອບເນື້ອຫາແມ່ນສ້າງຂຶ້ນຈາກຮູບແບບໄຟລ໌ XMLTV. ຊຸດໂຄງການປະຈຸບັນ
ການທົດສອບເນື້ອໃນແມ່ນ:
--ສຽງ ''
--ປະເພດ REGEXP
--ຊ່ອງ REGEXP
--clumpidx REGEXP
- ນໍ້າປະປາ REGEXP
--ສິນເຊື່ອ ''
- ວັນທີ REGEXP
--desc REGEXP
--ຕອນ-ເລກ ''
--ໄອຄອນ ''
-- ຄໍາສໍາຄັນ REGEXP
-- ພາສາ REGEXP
--ໂອກາດສຸດທ້າຍ REGEXP
-- ຄວາມຍາວ ''
--ໃຫມ່
--orig-ພາສາ REGEXP
--pdc-start REGEXP
-- ຮອບປະຖົມມະທັດ REGEXP
-- ສະແດງໃຫ້ເຫັນກ່ອນຫນ້ານີ້ ''
--rating ''
-- ການສະແດງ REGEXP
--star-rating ''
--ເລີ່ມ REGEXP
--ຢຸດ REGEXP
--ຫົວຂໍ້ຍ່ອຍ REGEXP
-- ຄຳບັນຍາຍ ''
--ຫົວຂໍ້ REGEXP
--url REGEXP
--ວິດີໂອ ''
--ວີດີໂອບວກ REGEXP
--vps-start REGEXP
ໃນຂະນະທີ່ທຸກໆຄຸນລັກສະນະແລະອົງປະກອບຍ່ອຍຂອງ ອົງປະກອບແມ່ນລວມຢູ່ໃນຂ້າງເທິງ
ບັນຊີລາຍຊື່, ສໍາລັບບາງສ່ວນຂອງພວກເຂົາມັນເປັນປົກກະຕິສະດວກກວ່າທີ່ຈະນໍາໃຊ້ການທົດສອບພິເສດອະທິບາຍ
ຂ້າງລຸ່ມນີ້.
CHANNEL TESTS
ມີສອງການທົດສອບສໍາລັບຊ່ອງທາງ. ການກັ່ນຕອງເຫຼົ່ານີ້ທັງສອງ ແລະ ອົງປະກອບ:
ຖ້າຊ່ອງໃດນຶ່ງຖືກກັ່ນຕອງອອກແລ້ວ ທຸກລາຍການໃນຊ່ອງນັ້ນກໍຄືກັນ.
--ຊື່ຊ່ອງ REGEXP ຄວາມຈິງຖ້າຊ່ອງທາງມີ ເນື້ອໃນຂອງມັນກົງກັບ REGEXP.
--channel-id CHANNEL_ID ຖືກຕ້ອງຖ້າ ID XMLTV ຂອງຊ່ອງແມ່ນເທົ່າກັບ CHANNEL_ID ແທ້ໆ.
ເວລາ TESTS
ໂດຍປົກກະຕິທ່ານບໍ່ຕ້ອງການທົດສອບສະຕຣິງເວລາດ້ວຍການສະແດງອອກປົກກະຕິແຕ່ແທນທີ່ຈະປຽບທຽບ
ເຂົາເຈົ້າກັບເວລາອື່ນ. ມີສອງການທົດສອບສໍາລັບການນີ້.
-- ຫຼັງຈາກ DATE ແມ່ນແທ້ຖ້າລາຍການຈະຖືກອອກອາກາດໃນເວລາ ຫຼືຫຼັງຈາກ DATE, ຫຼືຈະເປັນພາກສ່ວນ
ຂອງວິທີການໂດຍຜ່ານການອອກອາກາດໃນ DATE. (ຫມາຍເຫດ: ໂຄງການແມ່ນຖືວ່າເປັນ
ອອກອາກາດຕັ້ງແຕ່ເວລາເລີ່ມຕົ້ນຂອງມັນ, ເຖິງແຕ່ບໍ່ລວມເວລາຢຸດຂອງມັນ.) DATE ສາມາດເປັນ
ມອບໃຫ້ໃນຮູບແບບວັນທີ sane ໃດ; ແຕ່ຖ້າທ່ານບໍ່ລະບຸເຂດເວລາ, UTC ແມ່ນສົມມຸດ.
ເພື່ອເອົາໂຄງການທັງຫມົດທີ່ທ່ານໄດ້ພາດໄປແລ້ວ, ພະຍາຍາມ -- ຫຼັງຈາກ ໃນປັດຈຸບັນ.
-- ກ່ອນ DATE ແມ່ນແທ້ຖ້າລາຍການຈະອອກອາກາດທັງໝົດກ່ອນວັນທີ DATE, ຫຼືວ່າມັນຈະ
ເປັນສ່ວນໜຶ່ງຂອງວິທີການອອກອາກາດໃນ DATE. ເພື່ອເອົາໂຄງການທັງຫມົດທີ່
ຍັງບໍ່ທັນໄດ້ເລີ່ມອອກອາກາດເທື່ອ, ລອງເບິ່ງ -- ກ່ອນ ໃນປັດຈຸບັນທີ່ຢູ່ ທ່ານສາມາດໃຊ້ -- ກ່ອນ ແລະ
-- ຫຼັງຈາກ ຮ່ວມກັນຊອກຫາລາຍການທັງຫມົດທີ່ອອກອາກາດໃນເວລາທີ່ແນ່ນອນ.
ວິທີການຄິດອີກຢ່າງຫນຶ່ງກ່ຽວກັບການທົດສອບທັງສອງນີ້ແມ່ນວ່າ -- ຫຼັງຈາກ ໃນປັດຈຸບັນ ໃຫ້ 'ບັນດາໂຄງການ
ເຈົ້າຍັງສາມາດເບິ່ງໄດ້, ເຖິງແມ່ນວ່າບາງທີອາດພຽງແຕ່ຈັບຕອນທ້າຍ. -- ກ່ອນ ໃນປັດຈຸບັນ
ໃຫ້ 'ໂຄງການທັງຫມົດທີ່ເຈົ້າອາດຈະໄດ້ເຫັນ, ເຖິງແມ່ນວ່າພຽງແຕ່ການເລີ່ມຕົ້ນເທົ່ານັ້ນ'.
--eval CODE ປະເມີນ CODE ເປັນລະຫັດ Perl, ໃຊ້ຄ່າກັບຄືນເພື່ອຕັດສິນໃຈວ່າຈະຮັກສາ
ໂຄງການ. ລະຫັດ Perl ຈະຖືກໃຫ້ຂໍ້ມູນໂຄງການເປັນ $_ ໃນຮູບແບບ hash XMLTV.pm
(ເບິ່ງ XMLTV). ລະຫັດຕົວຈິງສາມາດປັບປຸງແກ້ໄຂໂຄງການທີ່ຜ່ານໃນ, ເຊິ່ງສາມາດນໍາໃຊ້ໄດ້
ການແກ້ໄຂໄວ. ທາງເລືອກນີ້ບໍ່ໄດ້ມີຈຸດປະສົງສໍາລັບການນໍາໃຊ້ປົກກະຕິ, ແຕ່ເປັນການຫລົບຫນີໃນກໍລະນີທີ່ບໍ່ມີ
ຂອງການທົດສອບທີ່ມີຢູ່ແລ້ວແມ່ນສິ່ງທີ່ທ່ານຕ້ອງການ. ຖ້າທ່ານພັດທະນາລະຫັດທີ່ເປັນປະໂຫຍດໃດໆ, ກະລຸນາ
ສົ່ງໃຫ້ພວກເຂົາຖືກລວມເຂົ້າໃນການທົດສອບໃຫມ່.
ເຫດຜົນ ຜູ້ປະກອບການ
EXPR1 --ແລະ EXPR2, EXPR1 - ແລະ EXPR2, EXPR1 EXPR2
EXPR1 --ຫຼື EXPR2, EXPR1 -ຫຼື EXPR2
--ບໍ່ ເອັນພີພີ, - ບໍ່ ເອັນພີພີ, ! ເອັນພີພີ
ໃນບັນດາສິ່ງເຫຼົ່ານີ້, 'ບໍ່' ຜູກມັດແຫນ້ນທີ່ສຸດ, ຜົນກະທົບຕໍ່ການຄາດເດົາຕໍ່ໄປນີ້ເທົ່ານັ້ນ. 'ແລະ' ແມ່ນຕໍ່ໄປ,
ແລະ 'ຫຼື' binds loosest.
ໃຊ້ tv_grepp ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net