Sponsored Content
Top Forums UNIX for Dummies Questions & Answers PERL pattern matching in a file Post 302523635 by pvksandeep on Thursday 19th of May 2011 08:52:07 AM
Old 05-19-2011
PERL pattern matching in a file

Hi Gurus,

I have a file like below.. I have to match each with predefined pattern. If matches then have to write the entire record to a separate file. If not make the value as NULL and write the entire record into another file.

| is the delimiter

Code:
ravi123|2344|M
R123Vi|2345|F
R_'345|278|M
ra12|*&|F

Pattern is [0-9a-zA-Z] | [0-9] | [MF]

If any value for each record is not matching with above pattern write to reject file
Else if all the values are matching in a record write to accept file.

Reject file
Code:
R_'345|278|M
ra12|*&|F

Accept file ( make not matched column values NULL)
Code:
ravi123|2344|M
R123Vi|2345|F
|278|M
ra12||F

Please help me out.

Last edited by radoulov; 05-19-2011 at 10:23 AM.. Reason: Code tags.
 

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. Shell Programming and Scripting

Perl Pattern matching...

I am doing a file patterhn matching for a text file in PERL I am using this,,, but it says that no file is found $filepattern = '\d{1,4}.*A0NW9693.NDM.HBIDT.*.AD34XADJ.txt'; Can anyone help me out with Perl Pattern Matching concepts and how to do pattern matching for this txt file:... (4 Replies)
Discussion started by: msrahman
4 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
Regexp(3I)						    InterViews Reference Manual 						Regexp(3I)

NAME
Regexp - regular expression searching SYNOPSIS
#include <InterViews/regexp.h> DESCRIPTION
A Regexp encapsulates a regular expression pattern and defines operations for searching and matching the pattern against a string. The syntax of the regular expression pattern is the same as that for ed(1). Information can be obtained about the most recent match of the regular expression (and its sub-expressions). PUBLIC OPERATIONS
Regexp(const char* pattern) Regexp(const char* pattern, int length) Construct a new Regexp for pattern. int Match(const char* text, int length, int index) Attempt a match against text (of length length) at position index. The return value is the length of the matching string, or a neg- ative number if the match failed. int Search(const char* text, int length, int index, int range) Search for a match in the string text (of length length). Matches are attempted starting at positions between index and index plus range. If range is positive the first match after index is reported. If range is negative the first match before index is reported. The return value is the index of the starting position of the match, or a negative number if there is no match in the specified range. int BeginningOfMatch(int subexp) int EndOfMatch(int subexp) Return information about the most recent match. If subexp is zero (the default), information is reported for the complete regular expression. Other values of subexp refer to sub-expressions in the pattern. For example, if subexp is 2, information is returned for the sub-expression specified by the second pair of ( and ) delimiters in the pattern. SEE ALSO
ed(1) InterViews 23 May 1989 Regexp(3I)
All times are GMT -4. The time now is 07:59 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy