So, I have the following structure:
.
..
a.png
b.png
c.png
I ran a command to resize them
ls | xargs -I xx convert xx -resize xx.jpg
Now my dir looks like this
.
..
a.png.jpg
a.png
b.png.jpg
b.png
c.png.jpg
c.png
The firs question is, how do i rename the file so that I can just have one extension. Not two. (basically, how do I clean up my original mistake)?
The second question is, in the future, using xargs, how do I change the extension of the file simular to second command?
This can be also be done with xargs
and sed
to change the file extension.
ls | grep \.png$ | sed 'p;s/\.png/\.jpg/' | xargs -n2 mv
You can print the original filename along with what you want the filename to be. Then have xargs use those two arguments in the move command. For the one-liner, I also added a grep to filter out anything not a *.png file.