![仅将子文件夹中的文件移动到目标文件夹](https://linux22.com/image/151069/%E4%BB%85%E5%B0%86%E5%AD%90%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E7%A7%BB%E5%8A%A8%E5%88%B0%E7%9B%AE%E6%A0%87%E6%96%87%E4%BB%B6%E5%A4%B9.png)
目录
/dropbox/input/abc/file1.txt
/dropbox/input/pqr/file2.txt
/dropbox/input/lmn/file3.txt
/dropbox/input/xyz/file4.txt
如何仅移动文件夹中的文件/dropbox/input/
?
类似于mv /dropbox/input/
...(仅限子文件夹中的文件)/project/input/
答案1
使用:
find /dropbox/input -mindepth 2 -maxdepth 2 -type f -exec mv '{}' /project/input \;
“minDepth”和“MaxDepth”选项会将查找结果限制为“输入”目录的子目录中的文件,但不限制“输入”目录本身以及子子目录中的文件。首先尝试不使用“-exec”部分,看看它是否列出了您想要的文件:
find /dropbox/input -mindepth 2 -maxdepth 2 -type f
答案2
(cd /dropbox/input && find -type f -path './*/*' -print0 | xargs -r0 -0 mv -t /project/input)