Condition in cp/ls | grep (regex, now I have two problems)
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.
Condition in cp/ls | grep (regex, now I have two problems)
Hello,
I'm not sure where to post this question on the forum, but would like to see if someone could help me. I am still totally noob so I guess it's fitting here.
I have a situation where I have a folder with a bunch of image files. They are all pngs, but I need one copy with the extension and one copy without. The copy with is for HTML and the one without is for SEO friendly URL to tell Flash what to pull in and flash uses the file without. It's not ideal, but it is how it is and firefox loads the extension-less file, but the loading "wheel" at the top of the browser just spins forever when all is loaded.
I feel obligated to tell you, I have already created a script in PHP that does the task I want, but I would much rather find a command that will run in BASH so I can set up a shell and run it with cron and also run it through SSH. I know I can do both with the PHP script, but this problem is eating at me...
Anyway, I need a command (or series of commands) that will find all the extension-less png files that do NOT have a matching file.png in the same directory while ignoring .php, .zip, . & ..
I've found that I can list all extension-less files with
Code:
ls |grep -v '\.'
And I can list all .png files with
Code:
ls |grep ^.*\.png$
But how o how can I search with a condition? I tried using () in the command but BASH does not care for it.
Lateral thinking here; does it really matter if there is already a png file; why not not simplify the code and just create a .png for every extension-less file?
That does solve a problem for a lookup, but I also want to list it out so I can read what images do not have that matching counterpart. I was hoping to get a regex I could use in ls |grep or somthing like that in one shot, but it looks like I'll be looping through. But thanks!
Chill mate; far too many people try to do too much in one line of code; a short script is no big deal, honest
Not only that, but complex single lines of code are a b*gger to understand/debug; believe me I've seen lots
That does solve a problem for a lookup, but I also want to list it out so I can read what images do not have that matching counterpart. I was hoping to get a regex I could use in ls |grep or somthing like that in one shot, but it looks like I'll be looping through. But thanks!
ls |sort
Should put all your files in sort order by name so you'd see something like:
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.