我想在 Linux (Mint 17) 命令行上对文件夹中的一些图像进行批量转换和调整大小,所以我正在使用:
for $file in *.jpg; do convert -resize 25% $file $file.png; done
但这给我留下了一堆文件,例如:
image1.jpg.png
photo4.jpg.png
picture7.jpg.png
...
有没有一种方法可以轻松地从文件名中剪掉文件扩展名,使其只有 .png
而不是前面的 .jpg
?
或者,更好的是,我可以包括一个计数器,以便我可以用这样的东西运行命令:
for $file in *.jpg using $count; do convert -resize 25% $file image$count.png; done
所以我最终会得到类似的东西:
image1.png
image2.png
image3.png
image4.png
...
我宁愿不必担心创建批处理脚本,所以如果这太难了并且有一种简单的方法可以删除 .jpg
内联,那么我很高兴那个..
谢谢!
编辑:
我认为这个问题本身就可以作为一个问题,因为它也有一个相反的元素。
最佳答案
for file in *.jpg; do convert -resize 25% $file ${file%.*}.png; done
关于linux - 如何从 Linux 命令行上的变量中提取不带扩展名的文件名(并添加计数器)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40252751/