仅将子文件夹中的文件移动到目标文件夹

仅将子文件夹中的文件移动到目标文件夹

目录

/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)

相关内容