The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 04-28-2008
meevagh meevagh is offline
Зарегистрированный пользователь
  
 

Регистрация: Apr 2008
Сообщений: 7
PERL: Поиск строки в текстовом файле проблемы

Ищете немного помочь. Мне нужно искать строку слов, но, к сожалению, эти слова находятся на разных строках.

например, вывода текста:

Соединенные
Chanmpions
Роналду
Ливерпуль
Неудачники
Торрес


и мой скрипт код

Версия для печати ( "DEBUG - проверка файлов сообщений");
а (<FILE>) (
$ линия \u003d $ _;

если ($ линия \u003d ~ / Соединенные /) (
Print ( "\ nAbout отправить письмо \ N");
sendEmail ($ контакты
"",
"Мониторинг",
"\ nПожалуйста, надо знать, что существует проблема.",
"",
"");
)

скрипт будет отправить по электронной почте, когда он находит Юнайтед ", но мне нужно отправить по электронной почте, когда он получает Объединенных чемпионов Роналду.

Я думал-то вроде
если ($ линия \u003d ~ / Соединенные / N чемпионов / N Роналду /)

Но не повезло.

Любые предложения о том, как идти по этому поводу.
Old 04-28-2008
photon's Avatar
Фотон photon is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2002
Сообщений: 162
$ линия \u003d ~ / (Соединенное | Chanmpions | Роналдо | LiverpoolLosers | Торрес) / I
Old 04-28-2008
meevagh meevagh is offline
Зарегистрированный пользователь
  
 

Регистрация: Apr 2008
Сообщений: 7
Фотонный Привет, спасибо за ответ.
Но не совсем то, что я пытаюсь делать, я вероятно, мог бы объяснить его немного лучше.

Моя проблема заключается в том, что я только хочу отправить по электронной почте, если линия
Соединенные
Чемпионы
Роналду
происходят непосредственно после друг друга, как дюйм

образца текстового файла

Соединенные
Chanmpions
Роналду
Ливерпуль
Неудачники
Торрес


I DONT хотите отправить по электронной почте, если только слова находятся в файле, например I DONT хотите отправить по электронной почте, если это текстовый файл

Соединенные
Чемпионы
Торрес
Ливерпуль
Неудачники
Роналду

как линии IM заинтересованы Dont происходят в правильном порядке.
Old 04-28-2008
photon's Avatar
Фотон photon is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2002
Сообщений: 162
$ линия \u003d ~ / [Соединенные]? \ S [Chanmpions]? \ S? [Роналду]? \ S? /

Последний раз редактировалось фотона; на 04-28-2008 03:43 PM..
Old 04-28-2008
KevinADC KevinADC is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Январь 2008
Сообщений: 731
Цитата:
Первоначально Послано Фотон View Post
$ линия \u003d ~ / [Соединенные \ S] [Chanmpions \ S] [Роналду \ S]? /
Приведенный выше код не так, как оно является некорректное использование символа классов: [], которая соответствует ни одному из символов внутри квадратных скобок в любом порядке. Вы не можете использовать их в соответствие целое слово, по крайней мере, не легко и effciently или в том, как они используются выше. Плюс, что также будет проверить только на одну строку в файл, в то время.
Old 04-28-2008
photon's Avatar
Фотон photon is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2002
Сообщений: 162
Я изменил его, было использовать один вкладыш регулярное выражение вместо использования хэшей и петли и получение всего комплекса. К сожалению, я не имел времени для проверки всех моих кодом, но я от работы время.
Old 04-28-2008
Quine quine is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2008
Расположение: Bay Area Калифорнии
Сообщений: 68
Два подхода ....

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 ()), а не строку ....
Closed Thread

Закладки

Теги
Linux, Perl, Perl сдвиг, перемещение, переход на Perl

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 11:47 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0