我有以下结构:
.
..
a.png
b.png
c.png
我运行了一个命令来调整它们的大小
ls | xargs -I xx convert xx -resize xx.jpg
现在我的目录是这样的:
.
..
a.png.jpg
a.png
b.png.jpg
b.png
c.png.jpg
c.png
第一个问题是,我如何重命名文件,以便我可以只有一个扩展名。不是两个? 第二个问题是,在将来使用xargs时,如何将文件的扩展名更改为第二个命令?
发布于 2018-05-04 13:27:24
第一个问题:
第二个问题:
据我所知,这是无法完成的。最好的办法是使用一个带有参数替换的for循环,就像上面那样:
for file in *.png; do
convert "$file" -resize "${file%.png}.jpg"
done
如果你在你想要转换的子目录中有文件,那么你可以:
find . -type f -name '*.png' |
while read file; do
convert "$file" -resize "${file%.png}.jpg"
done
https://stackoverflow.com/questions/-100004025
复制相似问题