我想重命名文件夹及其子文件夹中的所有文件。
我需要将字符串 HEX20
更改为字符串 HEX8
。
有些文件名有其他数字,因此我不能简单地将 20
更改为 8
。
完整路径的示例是:
\\FRDS01006\z188018\FEM\Linear\HEX20\3HEX20\3HEX20.bof
我想对文件夹名称进行相同的替换。
最佳答案
这个怎么样:
find . -name "*HEX20*" -exec rename HEX20 HEX8 '{}' +
这将递归搜索当前目录和任何子目录以匹配 HEX20
。 (省略了 -type f
标志,因为提问者想要更改除文件之外的目录名称。)然后它将构建一个长的 rename
命令并最终调用它。这种类型的构造可能比使用 sed 构建一系列命令然后逐个执行它们更简单。
关于bash - 重命名子文件夹中的所有文件 - 替换文件名中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31477459/