我是 Linux 新手,遇到了以下问题。我有几个不同的文件名,例如:
'Name1.mp4'
'Name2.mp4'
...
我想'
从文件名中删除撇号。这意味着,我希望得到以下结果:
Name1.mp4
Name2.mp4
...
mv
有人能告诉我怎么做吗?或者给我一个使用或命令来执行此操作的解释rename
?
谢谢您的帮助。
答案1
这会将'
以 结尾的文件全部替换为无.mp4'
。
rename "s/'//g if -f" *.mp4\'
rename
可能尚未安装,因此运行sudo apt install rename
进行安装。
例子:
$ touch "'1222.mp4'"
$ rename -n "s/'//g if -f" *.mp4\'
rename('1222.mp4', 1222.mp4)
-n
不更改文件,仅显示结果。删除-n
以执行命令。
答案2
另一个不错的选择是使用mmv
(使用 安装sudo apt install mmv
)。如果您的文件名确实是以下格式,'Name1.mp4'
您可以运行:
mmv -n "'*.mp4'" "#1.mp4"
如果您对输出满意,请删除-n
以应用重命名。
答案3
在 Bash 循环中mv
,因此无需安装...
首先使用以下命令进行试运行:
for f in *\'*; do [ -f "$f" ] && ! [ -d "${f//\'/}" ] && echo mv -nv -- "$f" "${f//\'/}"; done
...如果这就是您想要的,则重命名为:
for f in *\'*; do [ -f "$f" ] && ! [ -d "${f//\'/}" ] && mv -nv -- "$f" "${f//\'/}"; done