找到 .extension 并移动到其他目录

找到 .extension 并移动到其他目录

我一直试图在某个目录中找到 .jpg 和 .mp3 并将其移动到另一个目录;我很确定这是正确的命令,但它不起作用。

$ find -iname *.jpg *mp3 -exec mv {} /Directory2 \; 

答案1

您应该在表达式中引用 glob 模式,find以防止它们意外匹配当前目录中的文件。

-iname只需要一个参数 - 如果你想匹配替代模式,你可以使用-iname '*.jpg' -o -iname '*.mp3'等等。

所以(注意运算符优先级)

find . \( -iname '*.jpg' -o -iname '*.mp3' \) -exec mv {} path/to/Directory2/ \; 

或者,由于您使用的是 Linux,请使用 GNU-t形式mv和多文件占位符{} +

find . \( -iname '*.jpg' -o -iname '*.mp3' \) -exec mv -t path/to/Directory2/ {} + 

相关内容