我是新來的Perl中,我們有類似以下日誌文件:Perl的 - 自定義日誌文件只顯示特定錯誤
SQL> @D:\Luntbuild_Testing\ASCMPK\Files\MAIN\DATABASE\HOST\FILES\DDL\20120412_152632__1_CLTM_EVENT_ACC_ROLE_BLOCK.DDL
SQL> CREATE TABLE CLTM_EVENT_ACC_ROLE_BLOCK
2 (
3 EVENT_CODE VARCHAR2(4) ,
4 ACC_ROLE VARCHAR2(20)
5 )
6 ;
CREATE TABLE CLTM_EVENT_ACC_ROLE_BLOCK
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL> @D:\Luntbuild_Testing\ASCMPK\Files\MAIN\DATABASE\HOST\FILES\DDL\20120412_173845__2_CLTM_EVENT_ACC_ROLE_BLOCK.DDL
SQL> DROP TABLE CLTM_EVENT_ACC_ROLE_BLOCK;
Table dropped.
現在我需要一個腳本僅顯示有ORA-腳本路徑XXX錯誤,腳本應該只顯示SQL> @D:\ Luntbuild_Testing \與ORA-xxx錯誤關聯的路徑,我已經在下面嘗試過了,請你幫我加強一下。
$file = 'c:\data.txt';
open(txt, $file);
while($line = <txt>) {
print "$line" if $line =~ /> @/; #here i want the output to display the path of the script with only ORA-xxx errors and ignore if there are no errors
print "$line" if $line =~ /ORA-/;
}
close(txt);
這將是巨大的,如果你的表演準確輸入所需的輸出。 – 2012-08-09 10:13:42
輸入將是從日誌文件如上所示,我將讀取日誌文件, 輸出我需要的是如下 SQL> @D:\ Luntbuild_Testing \ ASCMPK \文件\ MAIN \ DATABASE \ HOST \ FILES \ DDL \ 20120412_152632__1_CLTM_EVENT_ACC_ROLE_BLOCK .DDL ORA-00955:名稱已經由現有對象 SQL> @D:\ Luntbuild_Testing \ ASCMPK \文件\升級-腳本\ POST_113 \典型\ misd_typ.sql ORA-02303:不能刪除或替換鍵入類型或表格依賴項 – user1587062 2012-08-09 10:20:22