小编che*_*976的帖子

如何通过删除特殊字符而不使用Linux shell中的重命名来批量重命名文件

例如,我有 100 个文件,它们的名称都有空格。其中之一是“ The Monkey King Return (2015).mkv”。

如何删除名称中的所有空格并替换为点字符,同时删除“(”和“)”?

结果应该是“ The.Monkey.King.Return.2015.mkv”。

我怎样才能批量执行此操作?

我实际上是通过 ssh 在我的 Synology NAS 中运行 shell 脚本,这是一个 BusyBox Linux 发行版,安装了 bash 和 ash,没有 gcc。已经尝试了好几天了,无法正确弄清楚。

可用工具:mv / xargs / sed / awk /其他标准linux cmd。

另外,如何递归地重命名子文件夹呢?

编辑:刚刚使用https://synocommunity.com/的 Debian Chroot 安装了 apt-get 并将 cmd 重命名到我的 Synology nas 中,所以现在可以了。

为了让需要简单答案的人,命令是:

find . -iname \*\ \*.\*|rename 's/\ /\./g'
Run Code Online (Sandbox Code Playgroud)

bash mv

3
推荐指数
1
解决办法
8298
查看次数

标签 统计

bash ×1

mv ×1