在找到的文件夹中查找并执行

fai*_*uts 5 directory find execute-command mv

我正在尝试查找包含 *.nef 的文件并将它们移动到找到该文件的文件夹的子目录名称 NEF。

我已开始使用以下命令进行测试,但这始终会复制到我的当前目录,即我的主文件夹。

find testfolder/*.nef -exec mv NEF \;
Run Code Online (Sandbox Code Playgroud)

在 man find 部分我已经阅读了有关 using -execdir,但使用 this 而不是-exec仍然具有相同的结果。

所以问题是:如何将当前找到的目录和 mv 找到的文件动态假定为名为 NEF 的子目录文件夹?(尚不存在)

提前致谢!

小智 6

你的考虑是对的-execdir。像下面这样简单的东西应该可以工作

find testfolder/ -name '*.nef' -execdir mkdir -p NEF \; -execdir mv {} NEF/ \; 
Run Code Online (Sandbox Code Playgroud)