Viv*_*vam 3 unix macos command-line-tool
我只需要将字符串"eng"附加到同一目录中的许多文件名,而不更改其在MAC TERMINAL中的扩展名.我搜索了很长时间,我发现mv命令一次重命名文件.但我不知道如何实现我的方案.任何ony可以指导我吗?
谢谢
小智 19
如果您有一个包含以下文件的目录:
a.ext
b
c.long.sh
Run Code Online (Sandbox Code Playgroud)
并且您想将它们重命名为:
aeng.ext
beng
c.longeng.sh
Run Code Online (Sandbox Code Playgroud)
Mac终端(bash)中的以下"oneliner"应该这样做:
for i in *; do name="${i%.*}"; mv "$i" "${name}eng${i#$name}"; done
Run Code Online (Sandbox Code Playgroud)
解释:
for i in *; do - 遍历所有文件名name="${i%.*}" - 在扩展名之前提取名称部分(剥离最后一个点之后的所有内容)mv - 处理重命名${name}eng - 添加eng名称${i#$name} - 获取扩展名(这将从原始文件名中删除名称部分)注意:如果要预览它将执行的操作,但实际上不执行重命名,请在"mv"之前插入"echo".这会将语句打印到屏幕而不是执行重命名.
| 归档时间: |
|
| 查看次数: |
4506 次 |
| 最近记录: |