Using " find " with " -regex " Some help needed..!!
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hello dears, How you doing all ?
Alright, here is what I need help with. I'm writing a shell script that takes care of some regular tasks.
In this shell script, I use " find " to search for files that meet some name criteria using the -regex.
The problem is, I've tried til I got sick of it..Googled, and "man find" .. with no hope. Simply, what I need that regular expression to do, is to bring me file names that:
Start with some-prefix
Ends with one of several extensions (jpg or gif or png)
I've tried so many regexes, but I couldn't get it yet..!!
Ok..since you've tried so many things, how about posting one or two of them, to show us what you've tried???
Did you read the man pages on find, or any of the many tutorials on regex'es?? This might work: "find ./ -type f -iname *[.jpg][.png]"
The big change between shell name expansion and regex matching is that the directory becomes part of the match, which is almost never what you actually want imo.
The big change between shell name expansion and regex matching is that the directory becomes part of the match, which is almost never what you actually want imo.
I was too sure that there is something missing..
It was the ( -regextype posix-egrep ).
Alright, and for your other suggestion..
I guess it would also bring the desired results.. But I see the first one is easier to modify later. Add to that that I need to use the ( -atime +days ) with find.
If you don't mind make this topic someway richer with info..
From the find man pages, I went out that -regextype has emacs (this is the default), posix-awk, posix-basic, posix-egrep and posix-extended.
If you can let us know the differences between them..
That would be a GREAT favor to me and readers.
Also, the reason you prefer to stick with the second suggestion you made earlier.
The reason I prefer the second suggestion is portability. gnu extensions are sometimes really wonderful, but I deal with bsd and solaris on a regular basis too, so I tend to be a bit wary of depending on gnu extensions too much.
The gnu 'info' pages often have the details about the extensions.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.