find -exec mv命令发生了什么

时间:2014-04-26 19:58:31

标签: linux unix mv

我刚刚打电话

find -name '*.wmv' -exec '{}' ../other ';'

其中一个匹配的文件包含

之类的空格
./blabla - Copy/blabla.wmv

它返回了消息

find: `./blabla - Copy/blabla.wmv': No such file or directory

现在源文件已经消失,在目标目录'other'中只有一个名为'blabla.wmv'的目录,但它是空的,我找不到实际的文件。

我原以为命令会扩展为

mv './blabla - Copy/blabla.wmv' ../other

(在源周围有引号),但即使它扩展到

mv ./blabla - Copy/blabla.wmv ../other

文件'blabla',' - '和'Copy / blabla.wmv'都不存在 所以这并不能解释为什么源文件消失了,并且创建了目录'blabla.wmv'。我想知道到底发生了什么。

我并不太关心文件,但我想确保它不会漂浮在某个地方,它不应该或覆盖一些重要的东西。

1 个答案:

答案 0 :(得分:2)

你的命令中没有mv

尝试:

find -name '*.wmv' -exec mv '{}' ../other ';'

通过find正确处理带空格的文件名。