The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Как сцеплять последовательных линий shivi707 UNIX Desktop для чайников Вопросы И Ответы 1 01-12-2009 09:08 AM
необходимо для объединения двух строк, если строка doesn't конце котировки laxmi131 UNIX перспективных И опытных пользователей 9 10-27-2008 07:22 AM
сцеплять и дисплей 2 строки, как 1 с условием 2 линии? vithala Shell программирование и сценарии 7 07-11-2008 02:01 AM
Необходимость решения сцеплять и дисплей 2 строки, как 1 с условием 2 линии? vithala UNIX перспективных И опытных пользователей 1 07-10-2008 02:27 PM
Извлечение LOGFILE Входы harpdl Shell программирование и сценарии 2 07-13-2006 02:40 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-17-2009
BecTech BecTech is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2009
Сообщений: 2
LOGFILE - извлечение определенных строк для объединения на 1 линию

У меня в лог-файл с автоматическим диагностическим работает. В лог файл прилагается к каждой автоматической регистрации запускается.
Я хочу просто тянуть определенных строк из каждого запуска в лог файл, и связывать их в 1 запятые линии (для экспорта в Excel или HTML таблицу).

Каждый диагностический запустить это в квадратных скобках, начинаться и заканчиваться комментарий поэтому я в состоянии группе, что способ, но у меня возникают проблемы при получении все в 1 строку.

Типичные данные:

Diags начать.
Вторник Март 17 18:07:34 EDT 2009

Пароль: (123) Мощность Проверить
.
.
[больше информации]
Diags конца.
Diags начать.
Вторник Март 17 19:09:22 EDT 2009

FAIL: (123) Мощность Проверить
.
Описание: Напряжение зажим
.
. [подробнее отсутствии данных Детали]
.
Diags конца.


Я хочу, чтобы время, результат испытания (на 123 тест)


Я был в состоянии использовать AWK, чтобы закрыть, но я не могу получить его совсем.

AWK '/ Diags начала / (getline; печати); (если ($ 2 \u003d\u003d "(123)") для печати $ 1, $ 2, $ 3, $ 4)'

Это дает мне:

Mon Mar 16 11:37:07 EDT 2009
Пароль: (123) Мощность Проверить
Mon Mar 16 12:31:10 EDT 2009
Пароль: (123) Мощность Проверить
Tue Mar 17 01:30:54 EDT 2009
** FAIL: (123) Мощность Проверить
Tue Mar 17 03:08:16 EDT 2009
Пароль: (123) Мощность Проверить



Что я пытаюсь получить это:
Mon Mar 16 11:37:07 EDT 2009 году, PASS: (123) Мощность Проверить
Mon Mar 16 12:31:10 EDT 2009 году, PASS: (123) Мощность Проверить
Tue Mar 17 01:30:54 EDT 2009 ** FAIL: (123) Мощность Проверить
Tue Mar 17 03:08:16 EDT 2009 году, PASS: (123) Мощность Проверить


Кроме того, я ищу способ просто потянуть за информацию в течение определенного срока (например, текущую дату - 7 дней), но я беспокоиться об этом позже .. детское шаги ...

В системе Unix (HP-UX), так AWK, Perl, Или SED варианты.

Спасибо за любую помощь ..

Пол
Old 03-17-2009
daptal daptal is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2009
Сообщений: 60
#! / USR / BIN /Perl -W

использовать строгие;

OPEN (FH, 'TXT');
моя $ FB \u003d 0;
ул моя @;
в то время как (мои строки $ \u003d <FH>) (
chomp ($ строка);
если ($ линия \u003d ~ м / Diags начала /) (
FB \u003d $ 1;
)
если ($ FB И И! ($ линия \u003d ~ м / Diags начала / | | $ линия \u003d ~ м / Diags конца /)) (
нажимаем @ ул $ линию;
)
если ($ линия \u003d ~ м / Diags конца /) (
моя $ X \u003d присоединится "", ул @;
Версия для печати "$ X \ N";
ул @ \u003d ();
$ FB \u003d 0;
)
)

Попробуйте это

Ура

Последний раз редактировалось daptal; на 03-17-2009 11:36 PM.. Основание: вывод
Old 03-18-2009
pmm pmm is offline
Зарегистрированный пользователь
  
 

Регистрация: Декабрь 2008
Сообщений: 50
После вашего AWK сценарий - использование printf:

Код:
awk '/Diags begin/{getline;printf};{if ($2=="(123)") print ","$1,$2,$3,$4}'
Old 03-30-2009
BecTech BecTech is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2009
Сообщений: 2
ОК, спасибо за хорошие идеи .. после взлома и проверки я получил, наконец, выход в работоспособный формат с использованием AWK.

Я выдавали результатов в ASCII-файл в формате запятые ..
моя выходной файл называется tstres.txt
и характерные линии в файле выглядит следующим образом:

TSTR01, 29 марта 21:29:17 EDT 2009 году, PASS:, держава Проверить
TSTR01, 30 марта 00:54:55 EDT 2009 году, PASS:, держава Проверить
TSTR01, 30 марта 08:31:31 EDT 2009 ** FAIL:, держава Проверить
TSTR02, Mar 07 14:41:08 EST 2009, PASS:, держава Проверить
TSTR02, Mar 07 21:46:33 EST 2009, PASS:, держава Проверить

Что является самым простым способом, пользуясь данными файла и вывода его в HTML таблице?

Мой план заключается в том, чтобы запустить скрипт в CRON работу, и все мы должны делать это просмотра HTML-страницы.
Closed Thread

Закладки

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

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

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

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




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