Confusion with Reg expression


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Confusion with Reg expression
# 1  
Old 06-13-2013
Question Confusion with Reg expression

I want to make a REG Expression to validate the directory.
my dirsample is below:
Code:
/abc/abc/abc
abc/abc/abc
abc/abc/abc/
/abc/a bc/abc
/a bc/abc/abc
/abc/abc/a bc
/ abc/abc/abc
/abc/ abc/abc
/abc/.abc
/.abc/abc
/
//
/abc
/.abc

And my code is below:
Code:
grep -E '^\/([0-9a-Z_-.]+\/?)+$' dirsample

And the result is below:
Code:
/abc/abc/abc
/abc/.abc
/.abc/abc
//
/abc
/.abc

However, I think one of the result "//" shouldn't appear because at least one digit or alphabet or special symbol ( _-. ) is supposed to follow the first "/" . So I don't know what's wrong.
Please give me some directions.
THX

Last edited by Scott; 06-13-2013 at 01:24 PM.. Reason: Code tags for code and data
# 2  
Old 06-13-2013
Code:
$ grep "/[^/]" file
/abc/abc/abc
abc/abc/abc
abc/abc/abc/
/abc/a bc/abc
/a bc/abc/abc
/abc/abc/a bc
/ abc/abc/abc
/abc/ abc/abc
/abc/.abc
/.abc/abc
/abc
/.abc

You can add more "invalid" characters in the [...] set, as you like.

If you want to validate the existence of these directories, then you can run that through a loop.
# 3  
Old 06-13-2013
Quote:
Originally Posted by Scott
Code:
$ grep "/[^/]" file
/abc/abc/abc
abc/abc/abc
abc/abc/abc/
/abc/a bc/abc
/a bc/abc/abc
/abc/abc/a bc
/ abc/abc/abc
/abc/ abc/abc
/abc/.abc
/.abc/abc
/abc
/.abc

Yes, your code is simple. However, it's not good if the absolute path of directory contains metacharacters. So I just did my best to avoid it happened.
# 4  
Old 06-13-2013
Quote:
Originally Posted by franksunnn
... or special symbol ( _-. )
That component of your regexp specifies a range, not three literal characters. The dash must appear first or last in the entire bracketed expression.

Regards,
Alister
# 5  
Old 06-13-2013
Quote:
Originally Posted by alister
That component of your regexp specifies a range, not three literal characters. The dash must appear first or last in the entire bracketed expression.

Regards,
Alister
OMG!
I got you! Thanks
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

REG Expression

Need your help in creating regular expression for particular set. let say I have given two dates 20130623 to 20140625. I need to create regular for the dates which fall in between above two dates. (4 Replies)
Discussion started by: gvkumar25
4 Replies

2. Shell Programming and Scripting

reg expression in perl

how to uniquely match each of the words seperated by / in perl ${REP_PATH}/FUNCTIONAL/wide1c_1.0V/max/qor.rpt https://www.unix.com/images/misc/progress.gif (5 Replies)
Discussion started by: dll_fpga
5 Replies

3. Shell Programming and Scripting

reg expression in perl

./GEN_SCR.pl -f ${REP_PATH}/FUNCTIONAL/wide1c_1.0V/max/qor.rpt -o ${REP_PATH}/FUNCTIONAL/GEN2_wide1c_1.0V_max.csv where GEN_SCR.pl is as below...i need to check whether max or min is coming in the argument to the script ...how to do this? ${REP_PATH}/FUNCTIONAL/wide1c_1.0V/max/qor.rpt ... (0 Replies)
Discussion started by: dll_fpga
0 Replies

4. Shell Programming and Scripting

Reg expression

Please let me understand this reg expression (\s+')(.*)('\s+)(.)(.*)(\/.*)/) i have doubt in the below 2.I'm not understanding why back-tick used? (\s+') and ('\s+) (2 Replies)
Discussion started by: dll_fpga
2 Replies

5. UNIX for Dummies Questions & Answers

If Then ElseIf Script - Confusion Around Expression's Syntax

Hello, I am relatively new to UNIX scripting and am learning a lot. I have already tried several searches on this website and have tried various syntax options suggested to no avail. I am obviously not writing the script correctly. I really do appreciate any and all the help. Below is an... (8 Replies)
Discussion started by: dqrgk0
8 Replies

6. Shell Programming and Scripting

awk reg expression

Hello, I have thousand of messages (HL7), I want to use awk to extract only the ones that have a particular value in pv1.18 Each record in the file is the whole HL7 message, ie. when I print $0 I get the whole message MSH EVN PID etc. ,there is an x0d between the segments. I would like to use a... (3 Replies)
Discussion started by: gio001
3 Replies

7. Shell Programming and Scripting

Python (startswith) reg expression

Hello together, Yesterday I have recieved the script in the forum which works well. This script should insert in the previous line, the line that starts with ";". I'd like this process to recur after any arbitrary sign unless there's a number as a sign at the beginning of a line. Actual... (14 Replies)
Discussion started by: research3
14 Replies

8. Shell Programming and Scripting

Reg expression For

HI system.sysUpTime.0 : Timeticks: (1519411311) 175 days, 20:35:13.11 From the above output i need only 175days in a perl script.. Please Help (2 Replies)
Discussion started by: Harikrishna
2 Replies

9. Shell Programming and Scripting

perl reg expression

I have regular expression like this ( replace + with \+) ($mod_server) = ($server =~ /\+/\\+/g); the above is failing with error . what's wrong with it . Thanks (1 Reply)
Discussion started by: talashil
1 Replies

10. UNIX for Dummies Questions & Answers

Help with Reg. Expression

I need help with this: Can any one tell me what does these below mean: 1. "\(.\).*") != '/' 2. sed 's+^\./++;s+/.*++' 3. sed "s+${f}/+ + Thanks in advance (7 Replies)
Discussion started by: moe2266
7 Replies
Login or Register to Ask a Question