我只需要将字符串“ eng”附加到同一目录中的许多文件名中,而无需更改其在MAC TERMINAL中的扩展名。我搜索了很长时间,发现mv命令可以立即重命名文件。但是我不知道如何实现我的方案。有什么可以指导我的吗?
谢谢
如果您的目录包含以下文件:
a.ext
b
c.long.sh
您想将它们重命名为:
aeng.ext
beng
c.longeng.sh
Mac终端(bash)中的以下“ oneliner”应该执行此操作:
for i in *; do name="${i%.*}"; mv "$i" "${name}eng${i#$name}"; done
解释:
for i in *; do
-遍历所有文件名name="${i%.*}"
-提取扩展名之前的名称部分(去除最后一个点之后的所有内容)mv
-处理重命名${name}eng
-在名称中添加eng${i#$name}
-获取扩展名(这将从原始文件名中删除名称部分)注意:如果要预览它将执行的操作,但实际上不执行重命名,请在“ mv”之前插入“ echo”。这会将语句打印到屏幕上,而不是执行重命名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句