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 '\.' Code:
ls |grep ^.*\.png$ Thanks! |
Assuming all the files in the directory with no suffix are as you describe:
Code:
for nosuf in $(ls |grep -v '\.') Code:
for nosuf in $(ls |grep -v '\.') |
cool. Looks like that will work. Thanks!
|
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 ;) |
Quote:
Should put all your files in sort order by name so you'd see something like: filea filea.png fileb fileb.png filec filed filed.png filef fileg fileh fileh.png From such a list you can see that filec, filed, filef and fileg do not have corresponding .png files whereas filea, fileb, filed and fileh do. |
All times are GMT -5. The time now is 04:40 PM. |