The UNIX and Linux Forums  


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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Разбор строки в скрипт asutoshch Shell программирование и сценарии 19 05-26-2008 10:18 PM
шелл скрипт парсинга с SED jjamd64 UNIX для чайников Вопросы И Ответы 5 12-11-2007 04:51 PM
Разбор строки в Shell скриптов unishiva Shell программирование и сценарии 3 11-01-2007 04:30 PM
Помощь в разборе файла с Shell скрипт mihirk Shell программирование и сценарии 10 06-24-2007 11:58 AM
Разбор файла в Shell скриптов sendhilmani123 Shell программирование и сценарии 4 11-30-2006 02:29 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 02-08-2007
gurpreet470 gurpreet470 is offline
Зарегистрированный пользователь
  
 

Регистрация: Февраль 2007
Сообщений: 4
Shell скрипт для анализа лог-файл 300MB ..

М. сравнительно новой для Shell скриптов.
Я написал скрипт для разбора большого файла. Логика:
Помимо множества других бесполезных питания, Есть много случаев и соответствующий <abc> </ ABC> теги. (Все они правильно закрыта)
Мое требование заключается в том, чтобы найти определенный ярлык (скажем <data> 1234 </ Data>) прилагается нигде между <abc> </ ABC> теги.
Если найден, я должен хранить 4 строки ниже <abc> метку на временный файл.

Типичный лог-файл выглядит следующим образом:

************************
<pqr>
......
некоторые данные
некоторые другие данные
.........
</ pqr>
некоторые текстовые данные
...........
<abc>
бла
бла
.....
<id> 12345 </ ID>
бла ...
......
<data> 1234 </ Data>
</ ABC>
........
.....
.....

<abc>
бла
бла
.....
<id> 12345 </ ID>
бла ...
...
</ ABC>
..........
<rst>
...
...
</ RST>
некоторые текстовые данные, ...

****************************

Результат работы скрипта следует <id> 12345 </ ID> хранятся в некоторых временного файла.

Этот сценарий я использую это:

********************

RM-F temp.log
имя файла \u003d $ 1
ОК \u003d 0

а читать LINE1
делать


если [ "$ LINE1" \u003d "<abc>"], затем
ОК \u003d 1
FI

если [ "$ OK"-экв 1], затем
Эхо $ LINE1>> temp_file
FI

если [ "$ LINE1" \u003d "</ ABC>"], затем
ОК \u003d 0
FI

если [ "$ OK"-экв 0], затем

если [-F temp_file], затем

а читать line2

делать

если [ "$ line2" \u003d "<data> 1234 </ Data>"], затем

Кошка temp_file | AWK '(если (NR \u003d\u003d 4) (Print ($ 0)))'>> temp.log

FI

Готово <temp_file

RM temp_file

FI

FI

Готово <$ filename.log

*******************************

В <abc> </ ABC> Теги прийти в последней части в целом (не всегда), то после примерно 500000 строк ... и, как правило, файл имеет около 700000 строк.

Этот сценарий работает, и работает постоянно, и я действительно нашли 2 записей, которые на начальных строк хранится в временный файл. Но после нескольких минут 6-7, сценарий заканчивается резко, сказав:
scriptname.sh испытания: аргумент ожидалось.

Может ли кто-то поможет мне в этом?
Old 02-08-2007
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
наркоман
  
 

Регистрация: Январь 2007
Местоположение: Варна, България / Милан, Италия
Сообщения: 2915
*GNU Awk * решение:


Код:
awk '/data>1234/{print $5}' RS="<abc>" FS="\n" infile

Old 02-09-2007
gurpreet470 gurpreet470 is offline
Зарегистрированный пользователь
  
 

Регистрация: Февраль 2007
Сообщений: 4
Скрипт не работает ..

Цитата:
Первоначально Послано radoulov
*GNU Awk * решение:


Код:
awk '/data>1234/{print $5}' RS="<abc>" FS="\n" infile
Я действительно впечатлен в AWK мощности ..
После прочтения Вашего ответа, прочитать несколько статей по AWK.
Каким-то образом, этот сценарий все еще не работает, и заканчивая говорю ..
**********************
AWK: запись `/ ответ>
Пт 00:27 :...' Слишком долго
Рекордное число 22
**********************
У меня большие надежды на вас сейчас

Спасибо
Old 02-09-2007
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
наркоман
  
 

Регистрация: Январь 2007
Местоположение: Варна, България / Милан, Италия
Сообщения: 2915
Попробуйте сделать записи короче. Вы сказали, что <abc> </ ABC> Теги прийти в последней части около 500000 после строки так первая запись очень долго . Вы можете сделать ее короче, включая другие теги / струн (что у вас на beginig из файла) в РС: например RS \u003d "<abc> | <other_tag>". Или, если вы предпочитаете, вы можете прислать мне копию сжатого файла в частном порядке, так что я могла бы попробовать
BTW, что ваш Awk версии?
Closed Thread

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 05:48 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