The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
Google UNIX.COM


UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !!

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Regular Expression question Katkota UNIX for Dummies Questions & Answers 6 05-14-2008 12:23 PM
question (regular expression related) metalwarrior UNIX for Dummies Questions & Answers 1 02-03-2008 07:51 PM
Regular expression question umen Shell Programming and Scripting 7 11-21-2007 05:45 PM
Regular Expression Question Krispy UNIX for Dummies Questions & Answers 3 01-20-2006 06:36 AM
question about regular expression brentdeback Shell Programming and Scripting 0 11-14-2005 12:04 PM

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 05-14-2008
Registered User
 

Join Date: Oct 2007
Posts: 83
Question on Regular Expression

Folks;
Could some one tell me what these 2 regular expressions mean:

[^\n\r]*/([^/\n\r]*)/[^/\n\r]*

(\d\d\d\d/\d\d/\d\d/[-_\.\w\d]*?)
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 05-14-2008
era era is online now
Herder of Useless Cats
 

Join Date: Mar 2008
Location: /there/is/only/bin/sh
Posts: 2,909
Is this homework?
Reply With Quote
  #3 (permalink)  
Old 05-14-2008
Registered User
 

Join Date: Oct 2007
Posts: 83
No, It's a task to extract fields out of directory tree
Reply With Quote
  #4 (permalink)  
Old 05-14-2008
Smiling Dragon's Avatar
Disorganised User
 
Join Date: Nov 2007
Location: New Zealand
Posts: 645
[^\n\r]*/([^/\n\r]*)/[^/\n\r]*

Match 0 or more characters except carriage returns or line feeds,
Followed by a single / character,
Next match 0 or more characters except / characters, carriage returns or line feeds again, group this for later retrieval,
Match another single /
Finally, another match of 0 or more chars except / returns and feeds as before.

In english: extract the second to last string seperated by / from a line.

(\d\d\d\d/\d\d/\d\d/[-_\.\w\d]*?)

Match an 8 digit number, followed by anything consiting of - _ . letters or numbers, finally followed by a ?
Reply With Quote
  #5 (permalink)  
Old 05-14-2008
Registered User
 

Join Date: Oct 2007
Posts: 83
Thanks Smiling Dragon;
Now i have this question

If i have a list of directories, for example:

/fs/pas/2007/4/6/2634210/admdat/examin
/fs/pas/2007/4/6/2634210/admdat2/stat
/fs/pas/2007/4/6/2634210/admdat3/data
/fs/pas/2007/4/6/2634210/im_2/0b.dcm

Now; my questions are:
1. How to use RE to extract the last file such as "examin and stat,..."?

2. How to use RE to extract the parent directory for the last file. such as "amdat, amdat2, im_2,..."?

3. How to use RE to extract the date in the middle "2007/4/6"?
Reply With Quote
  #6 (permalink)  
Old 05-16-2008
Registered User
 

Join Date: Oct 2007
Posts: 83
Any answer for this question?
Reply With Quote
  #7 (permalink)  
Old 05-16-2008
radoulov's Avatar
addict
 

Join Date: Jan 2007
Location: Milan, Italy/Varna, Bulgaria
Posts: 1,391
Code:
perl -nle'm|([^/]*)$| and print $1' input
perl -nle'm|([^/]*)/[^/]*$| and print $1' input
perl -nle'm|/([^/]*/){2}(([^/]*/){2}[^/]*)| and print $2' input
Or just:

Code:
perl -F\/ -anle'print $F[-1]' input
perl -F\/ -anle'print $F[-2]' input
perl -F\/ -anle'print join "/", @F[3..5]' input
Reply With Quote
Google UNIX.COM
Reply

Tags
regex, regular expressions

Thread Tools
Display Modes




All times are GMT -7. The time now is 11:00 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger Visit The Global Fact Book

Content Relevant URLs by vBSEO 3.2.0