我正在使用 Ubuntu 24.10,有一个包含文件和子目录的目录:
main-dir
file1
file2
file3
subdir1
file1-1
file1-2
subdir1-1
file1-1-1
file1-1-2
subdir1-2
file1-2-1
subdir1-2-1
...
我有一个包含“已更正”文件的目录树:
corrections-dir
file2
subdir1
file1-1
subdir1-1
file1-1-1
subdir1-2
file1-2-1
我想递归地移动并覆盖从corrections-dir
到 的所有文件main-dir
。但是,该mv
命令似乎没有递归选项。我知道我可以这样做:
cp -R corrections-dir main-dir
rm -r corrections-dir
但是文件很大,该命令需要时间,并且不必要地写入我的 SSD 的新扇区(从而缩短其寿命)。
有没有办法可以mv
递归使用?
您可以用它
find
来执行递归运算。(未经测试)
corrections-dir
此命令不处理存在于但不存在于 的子目录的情况main-dir
。我认为这不是问题要求的一部分。注意:我使用
cd /path/to/corrections-dir
withfind .
而不是 offind /path/to/corrections-dir
因为我想find
传递相对文件名{}
。