【问题标题】:bash convert w/ copying filenamebash 转换 w/ 复制文件名
【发布时间】:2012-08-10 22:02:02
【问题描述】:


我使用 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
不工作,或者我没有这样的知识来理解代码...... 我如何转换那些保留其名称和目录的文件?

【问题讨论】:

    标签: linux bash filenames


    【解决方案1】:
    ls ~/filepath.*jpg | xargs -n 1 -I{} convert -units PixelsPerInch 75 -resize 200x200 {} {}
    

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

    【讨论】:

    • 对不起,它确实有效!谢谢!我使用的代码与您的建议完全相同。
    猜你喜欢
    • 2014-07-07
    • 2015-05-09
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 1970-01-01
    • 2018-10-25
    • 2010-12-11
    • 1970-01-01
    相关资源
    最近更新 更多