![]() |
|
|
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 |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
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 испытания: аргумент ожидалось. Может ли кто-то поможет мне в этом? |
|
||||
|
Скрипт не работает ..
Цитата:
После прочтения Вашего ответа, прочитать несколько статей по AWK. Каким-то образом, этот сценарий все еще не работает, и заканчивая говорю .. ********************** AWK: запись `/ ответ> Пт 00:27 :...' Слишком долго Рекордное число 22 ********************** У меня большие надежды на вас сейчас Спасибо |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|