Bash 如何删除final";点“;来自目录名

Bash 如何删除final";点“;来自目录名,bash,batch-rename,Bash,Batch Rename,一个程序把我的目录弄乱了,在一些文件和目录名的末尾加了一个点“.”。移除它们最简单的方法是什么 我曾想过删除最后一个字符,但并非所有文件/目录的末尾都有一个点。此外,删除所有点也是一个问题,这将使扩展无效 我需要的是重命名,将.file.ext.name.of.the.file.ext.更改为.file.ext.name.of.the.dir.和.dir.name.of.the.dir. 谢谢 检查文件末尾的点,如果可能,重命名每个文件(即目标文件不存在) 您的计算机上可能有一个重命名实用程序可

一个程序把我的目录弄乱了,在一些文件和目录名的末尾加了一个点“.”。移除它们最简单的方法是什么

我曾想过删除最后一个字符,但并非所有文件/目录的末尾都有一个点。此外,删除所有点也是一个问题,这将使扩展无效

我需要的是重命名,将.file.ext.
name.of.the.file.ext.
更改为.file.ext.
name.of.the.dir.
和.dir.
name.of.the.dir.


谢谢

检查文件末尾的点,如果可能,重命名每个文件(即目标文件不存在)


您的计算机上可能有一个
重命名
实用程序可以让您执行此操作

rename 's/\.$//' *.

检查
manrename

只需编写一个脚本,扫描文件名并检查尾随点,然后在必要时丢弃它们。您可以使用“mv”命令重命名文件/目录,如果用户必须进入子目录:
shopt-s globstar;对于**/*..;中的文件。还有,为什么要进行
-e
测试?
*。
会返回不存在的文件吗?@glennjackman:不会,它会测试目标以避免覆盖它。
rename 's/\.$//' *.