2012-08-14 69 views
0


我使用linux,bash。
我在一些目录中有一堆图像文件。所有名称都必须保存(文件名和目录)。但我需要将所有图像转换为不同的大小和ppi。我用
convert -units PixelsPerInch 75 -resize 200x200 ~/filepath/*.jpg ~/filepath.*jpg
但它取代了错误的文件。此外,我已经试过
"{}" "{}"%03d.jpg
的号码添加到新的文件名,但只给出了001.JPG等 解决方案,如
Bash - get last dirname/filename in a file path argument

Extract filename and extension in Bash
${filename%.}和脚本
其他地区或
http://bytebar.blogspot.com/2008/08/bash-filename-extraction.html
不工作,或者我没有这样的知识来了解代码... 如何转换这些文件保持ir名称和目录?bash转换w /复制文件名

回答

0
ls ~/filepath.*jpg | xargs -n 1 -I{} convert -units PixelsPerInch 75 -resize 200x200 {} {} 

“xargs -n 1”使用提供的参数一次调用以下函数。 xargs的-I {}参数告诉xargs用给定的参数替换{}的每个出现。

+0

对不起,它确实工作!谢谢!我使用的代码与您的建议完全相同。 – boldnik 2012-08-14 19:03:26