Sponsored Content
Full Discussion: Perl Pattern matching...
Top Forums Shell Programming and Scripting Perl Pattern matching... Post 302511781 by msrahman on Thursday 7th of April 2011 02:19:58 PM
Old 04-07-2011
Thanks for the quick reply, but i am not echoing here.

This is the perl script that i am using;

Code:
#!/oracle/product/11.2.0/perl/bin/perl -w
#set global variables
#directories where input file exist
$inputdirectories = '/MCS/MAINFRAME/REFERENCE/';
#directory where files will be moved to after job execution.
#$archivedirectory = '/MCS/MAINFRAME/REFERENCE/archive';
#command to move the files - to be used later.
#$mv_cmd = '/usr/bin/mv';
#Checking the server to connect
if ($ARGV[0] eq 'QA')
{
$ENV{"ORACLE_HOME"} = "/oracle/product/11.2.0";
$ENV{"PATH"} = "$ENV{'PATH'}:/oracle/product/11.2.0/bin";
$ENV{"ORACLE_SID"} = "db112";
#$dbsid = 'db112';
$dbuser = 'zx02169';
# $dbpwd = `/usr/local/pl/perlencrypt.pl -k /kda1/system/ealgorithm -d /sdr1/system/db112zx02169pw`;
}
 
$filepattern = '\d{1,4}.*A0NW9693.NDM.HBIDT.*.AD34XADJ.txt';

 
opendir ( IDIR, $inputdirectories) || die "Error in opening dir\n";
while( ($file = readdir(IDIR))){
        if ($file =~ $filepattern){
then
#Logfile location where it will reside
$logFile= "/MCS/MAINFRAME/REFERENCE/log/procedure_code.log";
#Control file location
$confile="/MCS/MAINFRAME/REFERENCE/control/proc_codes_34.ctl";
print "$dbuser\n";
#print "$dbpwd\n";
system ("/usr/local/pl/perlencrypt.pl -k /kda1/system/ealgorithm -d /sdr1/system/db112zx02169pw | sqlldr userid=$dbuser control=$confile log=$logFile");
print "Complete\n"
}else{
print "Cannot find the file\n";

Can you please show me how to use here in the script which uses this;

Code:
$filepattern = '\d{1,4}.*A0NW9693.NDM.HBIDT.*.AD34XADJ.txt';

---------- Post updated at 01:19 PM ---------- Previous update was at 01:01 PM ----------

I used the above said script;
Code:
echo '2011040675821.MBT.A0MW9693.NDM.HBIDT.AD38XPRC.txt' | perl -nle 'if(/^(\d{1,4})/) {print $1}'

and it errored out;

Code:
Unquoted string "echo" may clash with future reserved word at ./test_procedure_codes.pl line 27.
String found where operator expected at ./test_procedure_codes.pl line 27, near "echo '2011040675821.MBT.A0MW9693.NDM.HBIDT.AD38XPRC.txt'"
        (Do you need to predeclare echo?)
Unquoted string "perl" may clash with future reserved word at ./test_procedure_codes.pl line 27.
String found where operator expected at ./test_procedure_codes.pl line 27, near "nle 'if(/^(\d{1,4})/) {print $1}'"
        (Do you need to predeclare nle?)
Scalar found where operator expected at ./test_procedure_codes.pl line 38, near "$logFile"
        (Missing semicolon on previous line?)
syntax error at ./test_procedure_codes.pl line 27, near "echo '2011040675821.MBT.A0MW9693.NDM.HBIDT.AD38XPRC.txt'"
Unmatched right curly bracket at ./test_procedure_codes.pl line 48, at end of line
syntax error at ./test_procedure_codes.pl line 48, near "}"
Unmatched right curly bracket at ./test_procedure_codes.pl line 51, at end of line
Execution of ./test_procedure_codes.pl aborted due to compilation errors.

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

pattern matching + perl question

i can only find the first occurance of a pattern how do i set it to loop untill all occurances have changed. #! /usr/bin/perl use POSIX; open (DFH_FILE, "./dfh") or die "Can not read file ($!)"; foreach (<DFH_FILE>) { if ($_ !~ /^#|^$/) { chomp; ... (1 Reply)
Discussion started by: Optimus_P
1 Replies

2. Shell Programming and Scripting

perl pattern matching

hi i am trying to get digits inside brackes from file , whose structure is defined below CREATE TABLE TELM (SOC_NO CHAR (3) NOT NULL, TXN_AMOUNT NUMBER (17,3) SIGN_ON_TIME CHAR (8) TELLER_APP_LIMIT NUMBER (17,3) FIL01 ... (2 Replies)
Discussion started by: zedex
2 Replies

3. Shell Programming and Scripting

Perl Pattern Matching !!! Help

Hello I got the below one from in one of this forums For Ex: Loading File System Networking in nature now i need to extract the patterns between the words File and Networking : i.e. sample output: System cmd used : cat <file> | sed 's/.*File //' | sed 's/Closing.*$//' Actually... (0 Replies)
Discussion started by: maxmave
0 Replies

4. Shell Programming and Scripting

Perl -Pattern Matching help..!

Hi, I got doubt in Pattern matching, could you tell me how the following differs in action ?? if ( $line1==/$line2/ ) if ( $line1=~/$line2/ ) if ( $line1=~m/$line2/) What is the significance of '~' in matching. Thanks in advance CoolBhai (5 Replies)
Discussion started by: coolbhai
5 Replies

5. Shell Programming and Scripting

Perl Pattern Matching

Hello experts, I have a file containing the following text(shortened here). File Begin ---------- < # Billboard.d3fc1302a677.imagePath=S:\\efcm_T4 < Billboard.d3fc1302a677.imagePath=S:\\efcm_T4 --- > # Billboard.d3fc1302a677.imagePath=S:\\efcm_Cassini >... (2 Replies)
Discussion started by: nmattam
2 Replies

6. Shell Programming and Scripting

Perl pattern matching!!

Hi experts, I have many occurances of the following headers in a file. I need to grep for the word changed/inserted in the header, calculate the difference between the two numbers and list the count incrementally. Headers in a file look like this: ------------------- ---------------------... (6 Replies)
Discussion started by: nmattam
6 Replies

7. Shell Programming and Scripting

Pattern Matching in PERL

I have a 2 files in .gz format and it consists of 5 million lines the format of the file would be gzcat file1.gz | more abcde aerere ffgh56 .. .. 12345 gzcat file2.gz | more abcde , 12345 , 67890, ffgh56 , 45623 ,12334 whatever the string is in the file1 should be matched... (3 Replies)
Discussion started by: aravindj80
3 Replies

8. Shell Programming and Scripting

Need help with perl pattern matching

My log file looks as given below, its actually a huge file around 1 GB and these are some of the line: conn=5368758 op=10628050 msgId=64 - RESULT err=0 tag=101 nentries=1 etime=0 conn=7462122 op=-1 msgId=-1 - fd=247 slot=247 LDAPS connection from 10.13.18.12:37645 to 10.18.6.45 conn=7462122... (5 Replies)
Discussion started by: sags007_99
5 Replies

9. Shell Programming and Scripting

Pattern matching in Perl

Hi, I have a list of IP, eg : 192.168.0.15 192.168.0.24 192.168.2.110 192.168.2.200 And I would like the shortest pattern who match with '192.168.0' and '192.168.2' (without the last dot and number). (7 Replies)
Discussion started by: X-Or
7 Replies

10. Shell Programming and Scripting

Perl - Use of *? in Matching Pattern

I am using Perl version 5.8.4 and trying to understand the use of regular expression. Following is my code and output. $string = "Perl is a\nScripting language"; ($start) = ($string =~ /\A(.*?) /); @lines = ($string =~ /^(.*?) /gm); print "First Word (using \\A): $start\n","Line... (4 Replies)
Discussion started by: jnrohit2k
4 Replies
All times are GMT -4. The time now is 05:54 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy