Tue Mar 28 21:25:23 2006
Tue Mar 28 22:00:59 2006
Tue Mar 28 22:00:59 2006
Tue Mar 28 22:09:42 2006
Errors in file d:\oracle\admin\jvl\udump\jvl_j000_687.trc:
ORA-12012: ошибка при автоисполнении задания 90
ORA-01418: заданного индекса не существует
ORA-06512: на "DBO.PCK_ADMIN", line 462
ORA-06512: на line 1
Tue Mar 28 22:09:42 2006
Tue Mar 28 22:09:42 2006
Tue Mar 28 22:09:42 2006
Tue Mar 28 22:14:09 2006
Tue Mar 28 22:14:09 2006
Tue Mar 28 22:14:09 2006
Tue Mar 28 22:14:09 2006
Wed Mar 29 02:42:06 2006
Errors in file d:\oracle\admin\jvl\udump\jvl_j000_687.trc:
ORA-12012: ошибка при автоисполнении задания 90
ORA-01418: заданного индекса не существует
ORA-06512: на "DBO.PCK_ADMIN", line 462
ORA-06512: на line 1
Wed Mar 29 04:04:44 2006
Wed Mar 29 04:04:44 2006
Wed Mar 29 09:13:04 2006
Wed Mar 29 09:13:04 2006
Как бы это дело обработать, чтобы осталось следующее?
Tue Mar 28 22:09:42 2006
Errors in file d:\oracle\admin\jvl\udump\jvl_j000_687.trc:
ORA-12012: ошибка при автоисполнении задания 90
ORA-01418: заданного индекса не существует
ORA-06512: на "DBO.PCK_ADMIN", line 462
ORA-06512: на line 1
Wed Mar 29 02:42:06 2006
Errors in file d:\oracle\admin\jvl\udump\jvl_j000_687.trc:
ORA-12012: ошибка при автоисполнении задания 90
ORA-01418: заданного индекса не существует
ORA-06512: на "DBO.PCK_ADMIN", line 462
ORA-06512: на line 1
Вообще, нужен именно алгоритм обработки, уже полдня думаю, никак придумать не могу. Есть идеи?
perl -we 'while(<>){if($p){$p=/^ORA/and print or print"\n"}if(/^Errors/){$p=print$s}$s=$_}' file
Смысл - при появлении строки Errors выставляем флаг, что надо выводить последующие строки ($p) и вывести предыдущую строку, которую мы пихаем в $s на каждой итерации.
Когда встречается строка с ORA - выводим ее.
НЕ с ORA - выводим перевод строки и сбрасываем флаг.
[arena tmp]$ perl -wne "s/^E/\n$s$&/&&print;/^O/&&print;$s=$_" file
Unquoted string "file" may clash with future reserved word at -e line 1.
syntax error at -e line 1, near ";="
Execution of -e aborted due to compilation errors.
[arena tmp]$
[arena tmp]$ perl -wne "(/^O/||s/^E/\n$s$&/)&&print;$s=$_" file
Unquoted string "file" may clash with future reserved word at -e line 1.
syntax error at -e line 1, near ";="
Execution of -e aborted due to compilation errors.
[arena tmp]$
[arena tmp]$ perl -wne "/^O/||s/^E/\n$s$&/?print:($s=$_)" file
Unquoted string "file" may clash with future reserved word at -e line 1.
syntax error at -e line 1, near "(="
Execution of -e aborted due to compilation errors.
[arena tmp]$