如何用find更改文件和目录名称?

Nip*_*ips 5 linux bash

我改变了项目名称,现在我有许多文件,一个旧名称的目录.如何用find替换这些名称?

find . -name "*old_name*" -exec ???
Run Code Online (Sandbox Code Playgroud)

anu*_*ava 2

find应该适合你:

find . -name "old_name" -execdir mv "{}" new_name +
Run Code Online (Sandbox Code Playgroud)

old_name这将在所有子目录中查找当前目录中名称相同的文件,并将它们重命名为new_name.

  • 我认为这是一个糟糕的解决方案:如果他有`./foo/bar/old_name`,它将尝试执行`mv ./foo/bar/old_name new_name`,而不是可能想要的`cd ./foo /bar && mv 旧名称新名称` (6认同)