![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Извлечение строк из одного файла и поиска той же строки в других файлах | mohancrr | Shell программирование и сценарии | 1 | 09-19-2007 04:17 AM |
| Perl: поиск строки в файл ... | pondlife | Shell программирование и сценарии | 4 | 09-17-2007 08:35 AM |
| Привет! Поиск строки текста в UNIX | skwadim | UNIX для чайников Вопросы И Ответы | 1 | 12-22-2006 01:13 PM |
| Поиск в каталоге файл, содержащий текст. | LordJezo | UNIX для чайников Вопросы И Ответы | 4 | 04-04-2006 09:58 PM |
| Помощь по поиску в текстовый файл | thekid2 | Shell программирование и сценарии | 6 | 01-02-2004 02:09 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
PERL: Поиск строки в текстовом файле проблемы
Ищете немного помочь. Мне нужно искать строку слов, но, к сожалению, эти слова находятся на разных строках.
например, вывода текста: Соединенные Chanmpions Роналду Ливерпуль Неудачники Торрес и мой скрипт код Версия для печати ( "DEBUG - проверка файлов сообщений"); а (<FILE>) ( $ линия \u003d $ _; если ($ линия \u003d ~ / Соединенные /) ( Print ( "\ nAbout отправить письмо \ N"); sendEmail ($ контакты "", "Мониторинг", "\ nПожалуйста, надо знать, что существует проблема.", "", ""); ) скрипт будет отправить по электронной почте, когда он находит Юнайтед ", но мне нужно отправить по электронной почте, когда он получает Объединенных чемпионов Роналду. Я думал-то вроде если ($ линия \u003d ~ / Соединенные / N чемпионов / N Роналду /) Но не повезло. Любые предложения о том, как идти по этому поводу. |
|
||||
|
Фотонный Привет, спасибо за ответ.
Но не совсем то, что я пытаюсь делать, я вероятно, мог бы объяснить его немного лучше. Моя проблема заключается в том, что я только хочу отправить по электронной почте, если линия Соединенные Чемпионы Роналду происходят непосредственно после друг друга, как дюйм образца текстового файла Соединенные Chanmpions Роналду Ливерпуль Неудачники Торрес I DONT хотите отправить по электронной почте, если только слова находятся в файле, например I DONT хотите отправить по электронной почте, если это текстовый файл Соединенные Чемпионы Торрес Ливерпуль Неудачники Роналду как линии IM заинтересованы Dont происходят в правильном порядке. |
|
||||
|
Приведенный выше код не так, как оно является некорректное использование символа классов: [], которая соответствует ни одному из символов внутри квадратных скобок в любом порядке. Вы не можете использовать их в соответствие целое слово, по крайней мере, не легко и effciently или в том, как они используются выше. Плюс, что также будет проверить только на одну строку в файл, в то время.
|
|
||||
|
Два подхода ....
1. Искать любое из слов в каждой строке, и каждый раз, когда вы найдете одну, добавить его в хэш ... например $ somehash ( "Ренальдо") \u003d 1; Когда вы закончили сканирование всего файла, убедитесь в результате хэш для существования всех слов .... если (существует somehash $ ( "Ренальдо") И И существует somehash $ ( "loosers") И И существует ...) (написать письмо ... ) Кое-как, что .... ИЛИ .... Вы можете попробовать как шаблон $ FILEBUFFER \u003d ~ / (A | B | C | D). + (A | B | C | D). + (A | B | C | D ).... / IS Вы просто повторить альтернативы снова и снова, разделенных одной или более любых символов, и таким образом вы поймете все они если не вопрос того, что заказ .... Вы должны проверить результате захвата видеть, если бы все слова присутствуют ... Обратите внимание на "это" в конце этого шаблона ... "Я" причины случае игнорируются, а "S" говорит рассчитывать на новую строку как один из "символы", которая позволяет вам матч между строк ... Заметим, что в данном случае $ FILEBUFFER содержит файл целиком (см. READ ()), а не строку .... |
![]() |
| Закладки |
| Теги |
| Linux, Perl, Perl сдвиг, перемещение, переход на Perl |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|