将文件和文件夹移动到子文件夹

heb*_*bbo 4 linux bash busybox

我想将所有文件和文件夹从一个目录移动到其子文件夹之一。我怎么做?

我正在使用 BusyBox 和 linux。

前任:

将所有文件和文件夹移动/my/path//my/path/subfolder/.

复制,然后删除的解决方案是负担不起的。

谢谢。

Gma*_*ith 6

mv * subfolder 
Run Code Online (Sandbox Code Playgroud)

当然,它会无法将“子文件夹”目录移动到自身中,但其他所有内容都会移动

  • mv的规格里有这个吗?或者这是希望幸运?它可能会在第一次失败时停止,我最终会移动一些文件和文件夹,但不是全部。 (2认同)

heb*_*bbo 0

经过更多的挖掘和实验。我找到了答案: -prune用于避免退回到子目录。! -name用于排除目标子目录,然后exec执行移动操作。将{}替换为find命令中的文件/目录名称。

find /my/path/* -prune ! -name subfolder -exec mv {} /my/path/subfolder/. +
Run Code Online (Sandbox Code Playgroud)