如何查找特定文件并将其移动到特定目录?

mai*_*ash 4 linux find mv

如何查找特定文件,并将其移动到特定目录/var/tmp

例如我想找到文件0914_Jul-2014.gz.

备注,该文件0914_Jul-2014.gz在 ~300 个子目录下:

      /usr/../../../../../../../../../../../../../../../../../../0914_Jul-2014.gz
Run Code Online (Sandbox Code Playgroud)

一个例子:当我做一个

find /usr -name '0914_Jul-2014.gz' -exec mv {} /var/tmp
Run Code Online (Sandbox Code Playgroud)

结果是

mv: cannot stat: File name too long

错误。

jor*_*anm 5

您可以使用find

find /usr -name '0914_Jul-2014.gz' -exec mv {} /var/tmp \;
Run Code Online (Sandbox Code Playgroud)

或者对于极度嵌套的目录层次结构

find /usr -name '0914_Jul-2014.gz' -execdir mv {} /var/tmp \;
Run Code Online (Sandbox Code Playgroud)

尽管如文档$PATH所述,.如果您使用,您必须确保您的 环境变量不引用当前目录(即)-execdir