The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Количество строк в файле (Perl-скрипт) Jisha Shell программирование и сценарии 5 05-20-2008 08:11 AM
Скрипт для сканирования proclog файлы deeprajn95 Shell программирование и сценарии 3 05-12-2008 07:25 AM
Perl: Вернувшись из ссылки с модификатором cooldude Shell программирование и сценарии 8 03-19-2008 09:49 AM
Perl скрипт для проверки на основе файлов gholdbhurg Shell программирование и сценарии 1 03-05-2008 10:53 PM
Как сканировать только новые строки добавлены в файл? redlotus72 UNIX для чайников Вопросы И Ответы 3 04-28-2005 04:34 PM

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 03-18-2008
gholdbhurg gholdbhurg is offline
Зарегистрированный пользователь
  
 

Регистрация: Oct 2007
Сообщений: 26
Perl скрипт для проверки задней линии

Привет Perl гуру,
Я этот файл с помощью сканирования. Пример строки ниже:

2008031A, USERNAME, 12345, дайте ABC, XYZ считать, сделка, представленный
2008031B, USERNAME, 12346, ожидая переработки
2008031C, USERNAME, 12347, Получение ответа
2008031D, USERNAME, 12348, это не является действительным решения
2008031E, USERNAME, 12349, государство не
2008031F, USERNAME, 12350, Система \u003d 0
2008031G, USERNAME, 12351, в ожидании нового txns
2008031H, кто-то, 12352, дайте ЕНТО принять GVO, сделка, представленный
2008031I, кто-то, 12353, ожидая переработки
2008031J, кто-то, 12354, Получение ответа
2008031K, кто-то, 12355, это не является действительным решения
2008031L, кто-то, 12356, государство не
2008031M, кто-то, 12357, Система \u003d 0
2008031N, кто-то, 12358, в ожидании нового txns

Мне нужно искать для этого шаблона
->
"Это не является действительным решения"
Когда одна линия обнаружено совпадение, она должна написать в лог <UserName>, а также давать и принимать значения (например, ABC, XYZ)

После сканирования выше файлов, лог ошибок должны появиться:
ОШИБКА: Имя пользователя (ABC, XYZ)
ОШИБКА: Кто-то (ЕНТО, GVO)

Любые идеи?

Заранее благодарим вас, ребята.
Old 03-18-2008
эпоха
Гость
  
 

Сообщений: N / A
Биты: 0 [Банковские]
Может быть перемешан операции в лог-файл, или все подробности сделки будут на соседние линии, и все прилегающие линии принадлежат к одной сделке, или знак границы до следующей сделки?

Ли сделка всегда начинаются с "давать" и "принять" вещи? Ли сделка всегда заканчивается на "В ожидании нового txns" линия?


Код:
vnix$ perl -ne 'if (/give ([^,]*), take ([^,]*), transaction submitted/) { $give = $1; $take = $2; }
    if (/Waiting for new txns/) { $give = $take = undef; }
    if (/, ([^,]*), [^,]*, This is not a valid/) { print "UPPERCASE: $1 ($give, $take)\n"}' /tmp/txn 
UPPERCASE: USERNAME (ABC, XYZ)
UPPERCASE: SOMEONE (STE, GVO)

Думаю, все заглавные является свидетельством того, что это ФИНАНСОВЫЙ СЕКТОР мы занимаемся здесь ...?
Old 03-18-2008
Джим Макнамара jim mcnamara is offline Forum Staff  
...@...
  
 

Регистрация: Февраль 2004
Местонахождение: Н. М.
Сообщения: 5807
рассмотреть и AWK версии:

Код:
csadev:/home/jmcnama> cat t.awk   
awk -F, 'BEGIN { give=""}
         {
            if($4 ~ /give/){
                  give=sprintf("%s%,%s" ,
                        substr($4, length($4)-3),
                        substr($5, length($5)-3 ) )
                  }
            if($4 ~ /This is not a valid dealing/) {
                printf("ERROR: %s (%s)\n", $2, give)
                }
         } ' filename

csadev:/home/jmcnama> cat filename
2008031A, USERNAME, 12345, give ABC, take XYZ, transaction submitted
2008031B, USERNAME, 12346, waiting for processing
2008031C, USERNAME, 12347, Retrieving response
2008031D, USERNAME, 12348, This is not a valid dealing
2008031E, USERNAME, 12349, State has failed
2008031F, USERNAME, 12350, System=0
2008031G, USERNAME, 12351, Waiting for new txns
2008031H, SOMEONE, 12352, give STE, take GVO, transaction submitted
2008031I, SOMEONE, 12353, waiting for processing
2008031J, SOMEONE, 12354, Retrieving response
2008031K, SOMEONE, 12355, This is not a valid dealing
2008031L, SOMEONE, 12356, State has failed
2008031M, SOMEONE, 12357, System=0
2008031N, SOMEONE, 12358, Waiting for new txns

csadev:/home/jmcnama> t.awk
ERROR:  USERNAME ( ABC, XYZ)
ERROR:  SOMEONE ( STE, GVO)

Old 03-18-2008
gholdbhurg gholdbhurg is offline
Зарегистрированный пользователь
  
 

Регистрация: Oct 2007
Сообщений: 26
Привет эры / Jim,
Спасибо за быстрый ответ.

>>>
Привет эры
Мои ответы ниже:
1. Может быть перемешан операции в лог-файл, или все подробности сделки будут на соседние линии, и все прилегающие линии принадлежат к одной сделке, или знак границы до следующей сделки?
ANS:
Да, все детали сделки будут на соседние линии, и все прилегающие линии принадлежат к одному и тому же пользователю / сделки.

2. Ли сделка всегда начинаются с "давать" и "принять" вещи? Ли сделка всегда заканчивается на "В ожидании нового txns" линия?
ANS:
Да, что всегда будет в начале строки всех txns, но в конце строки могут отличаться.
Для успешных, существует обыкновение быть любым "Это не является действительным решение" линии между ними.
>>>

Кстати, если это возможно, я бы предпочел этого в Perl

Надежды услышать от других гуру.
Оцените это очень много.

Последний раз редактировалось gholdbhurg; на 03-18-2008 12:41 PM..
Closed Thread

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 02:54 PM.


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