Unix: Regular Expression - what's better?

imported_Stew

Golden Member
Apr 23, 2005
1,091
0
0
So, say I want to list 3-letter files whose names are composed of a b and c.

I can do:
ls [abc][abc][abc]

That works.

But what's a better way to do that, using wildcards or anything else?
 

sourceninja

Diamond Member
Mar 8, 2005
8,805
65
91
well, you could do (i'm a little regular expression rusty)
ls ^[a-c]\{3}

That would be any line starting with 3 a, b, or c's. But that is not quite what you want. Maybe something like (not sure if this is valid)
^[a-c]\{2\}[a-c]$

That's 2 a, b, or c's at the begining, and 1 a, b, or c at the end.
 

imported_Stew

Golden Member
Apr 23, 2005
1,091
0
0
Now, I just found out that you can use \{3\} after that, but it's not working when I use it this way:
ls [abc]\{3\}
 

Brazen

Diamond Member
Jul 14, 2000
4,259
0
0
This should work:
ls [a|b|c]{3}

If you want to include capital letters, you'll have to do this:
ls [a|b|c|A|B|C]{3}

hmmm, testing it out, it didn't work. Bash seems to want to pipe as if it's piping to a new command rather than as part of the regular expression.

and actually I think I should have used () instead of []
 

QuixoticOne

Golden Member
Nov 4, 2005
1,855
0
0
There's nothing wrong with the originally working solution:
ls [abc][abc][abc]

bash doesn't support regex(3) regexps in globbing its input.
Stuff works in sed (which does use full regex(3) regexps) that doesn't work no matter how it is quoted on the command line:

echo aaa bab caa | sed -e "s,[a-c]\{3\},foo,g"
foo foo foo

 

sourceninja

Diamond Member
Mar 8, 2005
8,805
65
91
Originally posted by: Nothinman
I wasn't aware that bash supported full on regexps in it's globbing.

I never really do regex from bash, so I was just guessing really.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |