Pattern matching problem



Dear List
I have a very large file basically it is logfile generated by sql
loader......... In the production environment this file can have one
million/ two million data. In this file there are 4 particular lines which
i need to extract from this log file.

*Total logical records skipped: 0
Total logical records read: 4830
Total logical records rejected: 51
Total logical records discarded: 4760
*
These four lines stayed at the bottom of the. Now if I use a filehandel to
open the file and stored it contents in an array and after that I make a
search to find these 4 lines then it will take lot of times to get output.
So is there any other way where I dont need to store the file in a array and
I can directly search the file and when I find these lines I can store these
lines in some array or variables. I am pesting part of the file here.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SQL*Loader: Release 9.2.0.1.0 - Production on Tue Feb 5 10:58:04 2008

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Control File: FINAL.ctl
Data File: FINAL.DAT
Bad File: FINAL.bad
Discard File: FINAL.dsc
(Allow all discards)

Number to load: ALL
Number to skip: 0
Errors allowed: 50
Bind array: 64 rows, maximum of 256000 bytes
Continuation: none specified
Path used: Conventional

Table DIM_DIAL_DIGIT, loaded when ISO_COUNTRY_CODE = 0X54554e(character
'TUN')
Insert option in effect for this table: APPEND

Column Name Position Len Term Encl Datatype
------------------------------ ---------- ----- ---- ----
---------------------
DIAL_DIGIT_KEY FIRST * ; O(")
CHARACTER
BU_KEY NEXT * ; O(")
CHARACTER
NULL if BU_KEY = 0X4e554c4c(character 'NULL')
NOP_ID_KEY NEXT * ; O(")
CHARACTER
SDCA_LOCATION_CODE NEXT * ; O(")
CHARACTER
TARGET_REGION_DESC NEXT * ; O(")
CHARACTER
TARGET_COUNTRY_CODE NEXT * ; O(")
CHARACTER
NULL if TARGET_COUNTRY_CODE = 0X4e554c4c(character 'NULL')
TARGET_COUNTRY_DESC NEXT * ; O(")
CHARACTER
LDCA_NAME NEXT * ; O(")
CHARACTER
SDCA_NAME NEXT * ; O(")
CHARACTER
LDCC_X_COORD NEXT * ; O(")
CHARACTER
NULL if LDCC_X_COORD = 0X4e554c4c(character 'NULL')
LDCC_Y_COORD NEXT * ; O(")
CHARACTER
NULL if LDCC_Y_COORD = 0X4e554c4c(character 'NULL')
SDCC_X_COORD NEXT * ; O(")
CHARACTER
NULL if SDCC_X_COORD = 0X4e554c4c(character 'NULL')
SDCC_Y_COORD NEXT * ; O(")
CHARACTER
NULL if SDCC_Y_COORD = 0X4e554c4c(character 'NULL')
POPULATION_DATE_TIME NEXT * ; O(") DATE MM/DD/YYYY
HH24:MI:SS
NULL if POPULATION_DATE_TIME = 0X4e554c4c(character 'NULL')
ISO_COUNTRY_CODE NEXT * ; O(")
CHARACTER
HOTLIST_IND NEXT * ; O(")
CHARACTER
BLACKLIST_IND NEXT * ; O(")
CHARACTER
UPDATE_DATE_TIME NEXT * ; O(") DATE MM/DD/YYYY
HH24:MI:SS
NULL if UPDATE_DATE_TIME = 0X4e554c4c(character 'NULL')
EVENT_TYPE_KEY NEXT * ; O(")
CHARACTER
NULL if EVENT_TYPE_KEY = 0X4e554c4c(character 'NULL')
PROVIDER_DESCRIPTION NEXT * ; O(")
CHARACTER
DM_IND NEXT * ; O(")
CHARACTER
DIAL_DIGIT_OPERATOR_TYPE NEXT * ; O(")
CHARACTER
CALL_DIRECTION_KEY NEXT * ; O(")
CHARACTER
NULL if CALL_DIRECTION_KEY = 0X4e554c4c(character 'NULL')
DIAL_DIGIT_DESCRIPTION NEXT * ; O(") CHARACTER Record
1: Discarded - failed all WHEN clauses.
FORCE_RI_IND NEXT * ; O(")
CHARACTER
TEST_CALL_IND NEXT * ; O(") CHARACTER

Record 1: Discarded - failed all WHEN clauses.
Record 2: Discarded - failed all WHEN clauses.
Record 3: Discarded - failed all WHEN clauses.
Record 4: Discarded - failed all WHEN clauses.
Record 5: Discarded - failed all WHEN clauses.
Record 6: Discarded - failed all WHEN clauses.
.......................................
..........................................
.............................................
Record 482500: Discarded - failed all WHEN clauses.
Record 485001: Discarded - failed all WHEN clauses.
Record 485002: Discarded - failed all WHEN clauses.
Record 485003: Discarded - failed all WHEN clauses.
Record 485004: Discarded - failed all WHEN clauses.
Record 231: Rejected - Error on table DIM_DIAL_DIGIT.
ORA-00001: unique constraint (SCOTT.SYS_C003608) violated
.........................................
.............................................

Record 232: Rejected - Error on table DIM_DIAL_DIGIT.
ORA-00001: unique constraint (SCOTT.SYS_C003608) violated

Record 233: Rejected - Error on table DIM_DIAL_DIGIT.
ORA-00001: unique constraint (SCOTT.SYS_C003608) violated

Record 234: Rejected - Error on table DIM_DIAL_DIGIT.
ORA-00001: unique constraint (SCOTT.SYS_C003608) violated

Record 235: Rejected - Error on table DIM_DIAL_DIGIT.
ORA-00001: unique constraint (SCOTT.SYS_C003608) violated

Record 236: Rejected - Error on table DIM_DIAL_DIGIT.
ORA-00001: unique constraint (SCOTT.SYS_C003608) violated


MAXIMUM ERROR COUNT EXCEEDED - Above statistics reflect partial run.

Table DIM_DIAL_DIGIT:
0 Rows successfully loaded.
51 Rows not loaded due to data errors.
4760 Rows not loaded because all WHEN clauses were failed.
0 Rows not loaded because all fields were null.


Space allocated for bind array: 254904 bytes(38 rows)
Read buffer bytes: 1048576

*Total logical records skipped: 0 *--------->*
Total logical records read: 4830
Total logical records rejected: 51
Total logical records discarded: 4760 -------> these are the four
lines i need to extract.*

Run began on Tue Feb 05 10:58:04 2008
Run ended on Tue Feb 05 10:58:04 2008

Elapsed time was: 00:00:00.28
CPU time was: 00:00:00.11

Thanks & Regards in advance
Anirban Adhikary.


Relevant Pages

  • Re: Working on ARC4-16 bit
    ... > Or does your method of initializing the state array accomplish ... outputs where n is the state array size was fairly sure. ... What i'm doing is to initialize the array, then discard ...
    (sci.crypt)
  • Re: [PATCH 0/7] discard support revisited
    ... but we'll get some real array coverage soon. ... UNMAP or WRITE SAME ... ... TRIM tracking is not actually enabled anywhere by default for now. ... That should translate the discard request ...
    (Linux-Kernel)
  • Re: which one is faster?
    ... >:than to fill an existing array with zeros. ... You say I'll have to discard old habits. ... Steve W. Jackson ...
    (comp.lang.java.programmer)
  • Putting 3 scalars at a time into an array
    ... so I could run stdout thru sort and sort by ... So, obviously, I need to store these 3 items in an array, ... Or would it make more sense to make a hash, ...
    (comp.lang.perl.misc)