0


我使用linux,bash。
我在几个目录中有一堆图像文件。所有都有必须保存的特定名称(文件名和目录)。但我需要将所有图像转换为不同的大小和 ppi。我使用了,
convert -units PixelsPerInch 75 -resize 200x200 ~/filepath/*.jpg ~/filepath.*jpg
但它替换了错误的文件。此外,我尝试
"{}" "{}"%03d.jpg
在新文件名中添加一个数字,但它只提供 001.jpg 等。像
Bash 这样的解决方案 - 在文件路径参数中获取最后一个目录名/文件名
或在 Bash 中
提取文件名和扩展名以及脚本的其他部分 或http://bytebar.blogspot.com/2008/08/bash-filename-extraction.html 不起作用或者我没有这样的知识来理解代码......我如何转换那些保留其名称和目录的文件?
${filename%.}


4

1 回答 1

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

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

于 2012-08-14T15:19:44.740 回答