Linux '的最大限制;查找/-name';文件'-o-在南';文件2'-o-在南';文件3'&引用;等

Linux '的最大限制;查找/-name';文件'-o-在南';文件2'-o-在南';文件3'&引用;等,linux,bash,command-line,find,exec,Linux,Bash,Command Line,Find,Exec,我正在尝试根据文件扩展名组织大量文件 我的代码如下(长度很抱歉): 如果我在find命令的末尾省略了-exec部分,那么find命令将按预期工作。这让我相信这与exec有关,而不是find部分 此代码的作用: 将检测到的任何文件从~/Desktop/test/all/向上移动一级到~/Desktop/test/ 此代码的实际功能: 什么都没有。没有错误。看起来很成功,但文件从未移动 你确定没有打字错误吗? 非常确定,因为它使用的参数数量较少。我还使用循环构建该命令,以减少键入错误的机会 我是如何

我正在尝试根据文件扩展名组织大量文件

我的代码如下(长度很抱歉):

如果我在find命令的末尾省略了-exec部分,那么find命令将按预期工作。这让我相信这与exec有关,而不是find部分

此代码的作用:
将检测到的任何文件从~/Desktop/test/all/向上移动一级到~/Desktop/test/

此代码的实际功能:
什么都没有。没有错误。看起来很成功,但文件从未移动

你确定没有打字错误吗?
非常确定,因为它使用的参数数量较少。我还使用循环构建该命令,以减少键入错误的机会

我是如何生成此命令的?
我在这里写了一个bash脚本:

为什么有这么大的find命令?
因为我试图组织的实际文件夹来自一个备份驱动器,该驱动器有数十万个文件夹(增量备份),并且多次重复它是非常长的。我想迭代备份驱动器一次,边走边找到我需要的文件,将它们全部移动到一个文件夹中,然后迭代该文件夹(现在包含我想要的所有文件类型),然后根据文件类型将文件放入文件夹中。我希望这是有道理的


谢谢大家

逻辑and的优先级高于
find
中的逻辑or

find ... \( ... -o ..... \) -exec ...

我不明白。你是说我应该把它用括号括起来吗?@MALON:只有当你想让
-exec
处理
*.raw
以上的内容时才这样做。这就是我现在拥有的:但它抛出了以下错误:查找:无效表达式;我本想在某处找到一个“)”的,但没看到。我能找到它。我把括号放在单引号内。我是个笨蛋。非常感谢。如前所述,它将产生许多进程。你能试试吗:
--execmv-t/home/malon/Desktop/test{}+
。这将只需一个
mv
进程即可移动多个文件,大大降低了系统负载。可能重复@John1024这是我尝试的,没有更好的:
find ... \( ... -o ..... \) -exec ...