当前位置: 首页 > 面试题库 >

在ubuntu / bash下递归重命名文件和目录

冯俊英
2023-03-14
问题内容

我想将所有包含“特殊”一词的文件和目录重命名为“常规”。它应保持区分大小写,以使“特殊”不会变成“常规”。

如何在bash中递归执行此操作?


问题答案:

尝试执行此操作(要求bash --version> = 4):

shopt -s globstar
rename -n 's/special/regular/' **

-n测试正常后,卸下开关

还有其他相同名称的工具可能无法执行此操作,因此请小心。

如果运行以下命令(GNU

$ file "$(readlink -f "$(type -p rename)")"

结果是

.../rename: Perl script, ASCII text executable

并且不包含:

ELF

那么这似乎是正确的工具=)

如果不是,则将其设为默认值(通常已经是这种情况),Debian并派生为Ubuntu

$ sudo update-alternatives --set rename /path/to/rename

(替换/path/to/renameperl's rename命令的路径。

如果您没有此命令,请搜索软件包管理器以进行安装或手动执行

最后但并非最不重要的一点是,该工具最初是由Perl的父亲Larry Wall编写的。



 类似资料:
  • 前面小节介绍了文件和目录的创建、移动、删除、打包、压缩,本小节介绍如何对已有的文件或者重命名,好的文件命名规范将提升对文件和目录管理的效率。 1. 使用 mv 命令对文件名称 这里还是以 /home 目录的 alltxt.tar 文件为例,可以使用 mv 命令对其重命名: ls mv alltxt.tar newtxt.tar ls 执行结果如下图: 如上图所示相当于文件移动路径没变,名称变

  • 问题内容: 我想通过目录递归迭代和修改某一分机的所有文件的扩展名,说来。bash命令执行此操作是什么? 问题答案: 如果您有可用的重命名,请使用: 如果重命名不可用,请使用:

  • 问题内容: 我需要有关bash脚本的帮助。脚本需要将目录中的所有文件重命名为其md5 sum +扩展名。 我在下面找到了bash脚本,但是需要对其进行更改,以便添加扩展名。 问题答案: 这可能对您有用: 或者GNU sed可以做的更短:

  • 本文向大家介绍nodejs 递归拷贝、读取目录下所有文件和目录,包括了nodejs 递归拷贝、读取目录下所有文件和目录的使用技巧和注意事项,需要的朋友参考一下 先给大家介绍下nodejs 递归拷贝目录下所有文件和目录,具体代码如下所示: ps:下面看下Nodejs递归读取目录下的所有文件 递归读取当前目录下的所有文件。 总结 以上所述是小编给大家介绍的nodejs 递归拷贝、读取目录下所有文件和目

  • 我一直在使用PDF文件中的命名目标来打开文件中特定位置的PDF文件。负责生成PDF文档的团队使用工具从图书标记自动生成命名目的地,因此命名目的地的名称往往类似于*9\u Glossary*或*Additional\u Information*。我们被要求用多种语言制作相同的文档。我预计我们将收到多种外语的PDF文档,在相同的位置带有书签,但图书标记的名称当然将使用这些其他语言,自动生成的命名目的地

  • mv 命令(move 的缩写),既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名。该命令的基本格式如下: [root@localhost ~]# mv 【选项】 源文件 目标文件 选项: -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖; -i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项); -n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户