Sponsored Content
Top Forums Shell Programming and Scripting Perl regular expression - To match a Dynamic URL Post 302507214 by Klashxx on Wednesday 23rd of March 2011 06:05:30 AM
Old 03-23-2011
A line processor:
Code:
echo  'www-example-com/dir1/dir2/dir3/dir4/index.html'|perl -lne '
       @a=split/\//;
       $f=$a[$#a];
       $a[($#a)]=""  if ( $#a < 11 );
       print "web_site=$a[0]";
for $i (2 ..10) {
    $a[$i]="NULL" unless $a[$i] ;
    print  "V_DIR".$i."=",$a[$i];
}
print "web_page=",$f;'

Code:
web_site=www-example-com
V_DIR2=dir2
V_DIR3=dir3
V_DIR4=dir4
V_DIR5=NULL
V_DIR6=NULL
V_DIR7=NULL
V_DIR8=NULL
V_DIR9=NULL
V_DIR10=NULL
web_page=index.html

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Exact match with regular expression

Hi I have a file with data arranged into columns. The first column is the chromosome name. When I use grep to subset only rows with chr1, I get chr1 but also chr10, chr11,.. How do I get only rows with chr1? grep chr1 filein > fileout head fileout chr1 59757841 chr11 108258691 ... (2 Replies)
Discussion started by: jdhahbi
2 Replies

2. UNIX for Dummies Questions & Answers

Regular Expression - match 'b' that follows 'a' and is at the end of a string

Hi, I'm struggling with a regex that would match a 'b' that follows an 'a' and is at the end of a string of non-white characters. For example: Line 1: aba abab b abb aab bab baa I can find the right strings but I'm lacking knowledge of how to "discard" the bits that precede bs.... (2 Replies)
Discussion started by: machinogodzilla
2 Replies

3. Shell Programming and Scripting

Regular expression match

Hi all, any idea how to match the following: char*<no or any string or space> buf and char *<no or any string or space> buf i need to capture the buf characters too. currently i need two checks to cover this: #search char* <any string> buf or char *<any string> buf @noarray =... (2 Replies)
Discussion started by: ChaMeN
2 Replies

4. Shell Programming and Scripting

regular expression match

I am trying to match a similar line using grep with regular expression the line is /remote/mac/pbbbb/abc/def/hij/hop/include/abc/tif/element/test/testfiles/Office.cpp:57: const OfficeType& getType().get() const; I just need to extract the bold characters using grep with regular expression.... (5 Replies)
Discussion started by: prasbala
5 Replies

5. Shell Programming and Scripting

Dynamic regular expression in nawk

Hi FolksI want to write a nawk script that dynamically creates variable numbers of regular expressions on the fly rather than using constants. Is this possible?They would need to be used within an if statement within the nawk program: - if ( "my string of regex's" ) Thanks (7 Replies)
Discussion started by: steadyonabix
7 Replies

6. Shell Programming and Scripting

regular expression exact match

hi everyone suppose we have two scenario echo ABCD | grep \{4\} DATE echo SYSDATE | grep \{4\} SYSDATE i want to match the string of four length only please help (5 Replies)
Discussion started by: aishsimplesweet
5 Replies

7. Programming

Perl: How to read from a file, do regular expression and then replace the found regular expression

Hi all, How am I read a file, find the match regular expression and overwrite to the same files. open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat"; open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat"; while (<DESTINATION_FILE>) { # print... (1 Reply)
Discussion started by: jessy83
1 Replies

8. Homework & Coursework Questions

Regular Expression to match files in Perl

Hi Everybody! I need some help with a regular expression in Perl that will match files named messages, but also files named message.1, message.2 and so on. So really I need one that will find messages and messages that might be followed by a period and a digit without matching other files like... (2 Replies)
Discussion started by: Hax0rc1ph3r
2 Replies

9. Shell Programming and Scripting

Perl split match regular expression with or

I cannot seem to get this to work correct: my ($k, $v) = split(/F/, $fc{$DIR}{symbolic}, 2); Below is the input (the $fc{$DIR}{symbolic} variable): QMH2562 FW:v5.06.03 DVR:v8.03.07.15.05.09-kbut i also need it to break on FV: Emulex NC553i FV4.2.401.6 DV8.3.5.86.2pthe code above... (2 Replies)
Discussion started by: rusted_planet
2 Replies

10. Shell Programming and Scripting

Regular expression match

echo 20110101 | awk '{ print match($0,/^((17||18||19||20)|)-*(|0|1)-*(|0||3)$/)) I am getting a match for the above, where as it shouldn't, as there is no hyphen in the echoed date. Another question is what is the difference between || and | in the above statement (4 Replies)
Discussion started by: tostay2003
4 Replies
REGEX(3)						     Library Functions Manual							  REGEX(3)

NAME
re_comp, re_exec - regular expression handler SYNOPSIS
char *re_comp(s) char *s; re_exec(s) char *s; DESCRIPTION
Re_comp compiles a string into an internal form suitable for pattern matching. Re_exec checks the argument string against the last string passed to re_comp. Re_comp returns 0 if the string s was compiled successfully; otherwise a string containing an error message is returned. If re_comp is passed 0 or a null string, it returns without changing the currently compiled regular expression. Re_exec returns 1 if the string s matches the last compiled regular expression, 0 if the string s failed to match the last compiled regular expression, and -1 if the compiled regular expression was invalid (indicating an internal error). The strings passed to both re_comp and re_exec may have trailing or embedded newline characters; they are terminated by nulls. The regular expressions recognized are described in the manual entry for ed(1), given the above difference. SEE ALSO
ed(1), ex(1), egrep(1), fgrep(1), grep(1) DIAGNOSTICS
Re_exec returns -1 for an internal error. Re_comp returns one of the following strings if an error occurs: No previous regular expression, Regular expression too long, unmatched (, missing ], too many () pairs, unmatched ). 3rd Berkeley Distribution May 15, 1985 REGEX(3)
All times are GMT -4. The time now is 09:15 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy