Це команда tv_grepp, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
tv_grep - Фільтрувати програми та канали з файлу списків XMLTV.
СИНТАКСИС
"tv_grep [--help] [--output FILE] [--ignore-case|-i] (EXPR | REGEXP) [FILE...]"
ОПИС
Читає дані списків XMLTV і записує дані, що містять деякі програми та
канали з оригіналу. Які програми та канали залишилися у виводі
керується заданим регулярним виразом або булевим виразом.
Просте використання tv_grep REGEXP [ФАЙЛ...], Де REGEXP є регулярним виразом Perl 5 (див
perlre(1)). Це все знаходить елементи, що містять текст, що відповідає регулярному виразу. The
канали залишаються без змін, тобто всі виводяться елементи.
Для більш розширеного пошуку ви можете вказати логічний вираз (який нечітко наведено нижче
стиль знаходити(1)). Існує багато тестів на узгодження вмісту програми з a
регулярний вираз, кілька для відповідності каналів і програм на цих каналах, і a
кілька спеціальних тестів.
ВАРІАНТИ
- вихід Фото записувати у FILE, а не в стандартний вихід.
--ігнорувати регістр, -i розглядати всі збіги регулярних виразів як нечутливі до регістру.
ВИРАЗИ
ПРОГРАМА ЗМІСТ ВИПРОБУВАННЯ
Тести програмного вмісту відповідають певним атрибутам або субелементам
елемент у даних XML. Кожен тест називається так само, як і атрибут or
елемент, якому він відповідає. Ті, які беруть регулярний вираз як аргумент, відповідають програмі
містить принаймні один атрибут або елемент з тим самим ім’ям, вміст якого відповідає
регулярний вираз. Ті, які не беруть регулярний вираз, відповідають, якщо програма просто містить його або
більше атрибутів або елементів цього імені.
Деякі елементи можуть мати або не мати вмісту - вони можуть бути просто порожніми. Регулярний
вираз '' (порожній рядок) відповідає будь-якому елементу, навіть з порожнім вмістом, тоді як a
непорожній регулярний вираз відповідає лише тим, які мають вміст.
Наприклад, --дез Гонки відповідає програмі, якщо в програмі є хоча б одна
елемент, вміст якого містить 'Racing'. --Стоп '' (другий аргумент порожній
string) відповідає програмі, якщо програма дає час зупинки.
Є деякі елементи, де можливе лише відповідність так/ні, де ви не можете дати a
regexp для запиту вмісту елемента. Для цих другий '' аргумент є обов'язковим.
Наприклад --показано раніше '' буде відповідати програмам, які мають цей елемент, але a
тест на --показано раніше Foo видасть помилку, оскільки запитує вміст
Показано раніше не реалізовано. Додатковий аргумент порожнього рядка — залишити
простір для майбутнього розширення.
Тести вмісту генеруються з формату файлу XMLTV. Поточний набір програми
зміст тестів це:
--аудіо ''
--категорія REGEXP
--канал REGEXP
--clumpidx REGEXP
--країна REGEXP
--кредити ''
--дата REGEXP
--дез REGEXP
--номер епізоду ''
--значок ''
--ключове слово REGEXP
--мова REGEXP
--останній шанс REGEXP
--довжина ''
--новий
-- вихідна мова REGEXP
--pdc-запуск REGEXP
--прем'єра REGEXP
--показано раніше ''
-- рейтинг ''
--showview REGEXP
--зірковий рейтинг ''
--почати REGEXP
--Стоп REGEXP
--підзаголовок REGEXP
--субтитри ''
-- назва REGEXP
--url REGEXP
--відео ''
--відеоплюс REGEXP
--vps-запуск REGEXP
У той час як кожен атрибут і піделемент елементи включені до вищезазначеного
список, для деяких з них зазвичай зручніше використовувати описані спеціальні тести
нижче.
КАНАЛ ВИПРОБУВАННЯ
Є два тести для каналів. Ці фільтри обидва і елементи:
якщо канал відфільтровано, то всі програми на цьому каналі також.
--назва-каналу REGEXP Правда, якщо канал має a вміст якого відповідає REGEXP.
--ідентифікатор каналу CHANNEL_ID Правда, якщо ідентифікатор каналу XMLTV точно дорівнює CHANNEL_ID.
ЧАС ВИПРОБУВАННЯ
Зазвичай ви не хочете перевіряти рядки часу за допомогою регулярного виразу, а краще порівнювати
їх іншим разом. Для цього є два тести.
--по-після ДАТА ПРОВЕДЕННЯ Правда, якщо програма транслюватиметься о DATE або пізніше, або буде частиною
DATE. (Примітка: програма вважається
трансляції від часу початку, до, але не включаючи час зупинки.) DATE може бути
надано в будь-якому розумному форматі дати; але якщо ви не вкажете часовий пояс, то припускається UTC.
Щоб видалити всі програми, які ви вже пропустили, спробуйте --по-після зараз.
--на-перед ДАТА ПРОВЕДЕННЯ Правда, якщо програма буде транслюватися повністю до DATE, чи буде
бути частиною трансляції на DATE. Щоб видалити всі програми, які
ще не почали трансляцію, спробуйте --на-перед зараз. Ви можете використовувати --на-перед та
--по-після разом, щоб знайти всі програми, які транслюються в певний час.
Інший спосіб думати про ці два тести так --по-після зараз надає 'всі програми
ви, можливо, все ще можете дивитися, хоча, можливо, тільки кінець». --на-перед зараз
дає «всі програми, які ви могли бачити, навіть якщо тільки початок».
--eval КОД Оцініть CODE як код Perl, використовуйте значення, що повертається, щоб вирішити, чи зберігати
програма. Код Perl отримає дані програми в $_ у форматі хеш XMLTV.pm
(див. XMLTV). Код може фактично змінити передану програму, яку можна використовувати для
швидкі ремонти. Ця опція не призначена для звичайного використання, але як вихід у разі відсутності
з існуючих тестів це те, що ви хочете. Якщо ви розробляєте корисні фрагменти коду, будь ласка
подати їх для включення як нові тести.
ЛОГІЧНИЙ ОПЕРАТОРИ
EXPR1 --і EXPR2, EXPR1 -і EXPR2, EXPR1 EXPR2
EXPR1 --або EXPR2, EXPR1 -Або EXPR2
-- ні ЕКСПРЕС, -не ЕКСПРЕС, ! ЕКСПРЕС
З них "не" пов'язується найтіснішим, впливаючи лише на наступний предикат. "і" наступне,
і 'або' зв'язується найслабше.
Використовуйте tv_grepp онлайн за допомогою служб onworks.net