【发布时间】:2014-03-16 12:17:50
【问题描述】:
我正在尝试创建一个替换所有“。”的脚本。出现在带有“_”的文件名中。例如,当我尝试替换所有“”符号时,我使用这个:
rename 'y/ /_/' '{}' file
# test 1.2.jpg -> test_1.2.jpg
效果很好,但是当我尝试使用“。”时扩展名的符号也发生了变化:
rename 'y/./_/' '{}' file
# test 1.2.jpg -> test 1_2_jpg
如何在不更改扩展名的情况下重命名文件(如果有扩展名)?
【问题讨论】:
-
when there is one-- 以及如果有的逻辑将应用于图? -
如果不是最后一个“.”后面的部分,您将如何定义“扩展名”..
-
@devnull 很好,例如
file命令可用于确定 mime 类型,然后将其与最后一点之后的字符串进行正则表达式比较。
标签: regex linux bash rename file-rename