我有一堆如下所示的文件名:
2501254200*.nc
我想删除星号。但是当我使用以下代码时:
mmv '***' '#1#2'
我收到错误
2501254200*.nc -> : bad new name
Nothing done
如何从名称中删除 *?
答案1
我用得不mmv
多,但在这里看起来您需要中间部分来与文件名中的字符*
完全匹配。*
由于*
是一种模式,请尝试转义中间*
:
mmv '*\**' '#1#2'
答案2
您需要转义*
您想要字面使用的内容。尝试这个:
for file in *\**; do mv "$file" "${file/\*/}"; done
或者,如果您已经安装(在 Debian 及其衍生产品(如 Ubuntu)上perl-rename
安装):rename
rename 's/\*//' *