![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
Podkovka |
|
||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.11.2011 Репутация: нет Всего: нет |
Прошу помощи в реализации куска кода.
Имеем текстовый файл TheTVDB.txt вида: name_show id_show
Имеем входную переменную $release_name вида Call.Me.Fitz.S02E07.720p.HDTV.x264-2HD Необходимо сделать последовательный (т.к. возможно двойное совпадение, например, Antiques.Roadshow.UK и Antiques.Roadshow) перебор в текстовом файле и при совпадении присвоить переменной $ID_Show значение после name_show, в противном случае $ID_Show=0. Как мне кажется, нужно брать данные из TheTVDB.txt и сравнивать с $release_name, т.к. ключ в TheTVDB.txt короче значения $release_name (Call.Me.Fitz - Call.Me.Fitz.S02E07.720p.HDTV.x264-2HD). Вид файла TheTVDB.txt можно изменить, если не удобен в обработке, т.к. создается вручную. На много меня не хватило ![]()
|
||||
|
|||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
# perl -aF"\\s+" -lne 'BEGIN{$id=shift}$id=~m#^\Q$F[0]\E#&&print$F[1]' Call.Me.Fitz.S02E07.720p.HDTV.x264-2HD file
191101 # |
|||
|
||||
Podkovka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.11.2011 Репутация: нет Всего: нет |
@arto
Спасибо, великолепное решение. Но я новичок в perl и для меня one-liner решение как дремучий лес ![]() Если Вас не затруднит, прошу показать пример в "классическом" виде. |
|||
|
||||
dixoNICH |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 222 Регистрация: 20.3.2011 Репутация: нет Всего: нет |
|
|||
|
||||
Podkovka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.11.2011 Репутация: нет Всего: нет |
Спасибо
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |