对于Ubuntu中的* .tiff,给出了带扩展名的文件名

时间:2014-10-01 02:34:41

标签: linux bash ubuntu-14.04

就我从其他示例中所理解的情况而言,例如this在目录中转换图像的示例,以下代码应该存储没有$f中的扩展名的文件名:< / p>

f in *.tiff

当我尝试使用以下代码更改扩展名时:

for f in *.tiff; do mv "$f" "$(basename "$f").jpg"; done

我最终得到的文件名如diff_14.tiff.jpg。这应该发生吗?我该如何解决这个问题?

注意:链接中的转换脚本不适用于此原因。我试图将所有.tiff批量转换为.jpg,我将问题缩小到文件名提取。我正在改变扩展作为测试;我知道它不会转换图像。

1 个答案:

答案 0 :(得分:1)

man basename说&#34;打印NAME,删除任何前导目录组件。&#34;这不是你想要的。代替:

for f in *.tiff; do mv "$f" "${f%.tiff}.jpg"; done

详细信息:http://tldp.org/LDP/abs/html/parameter-substitution.html