我在Mac OS上。
我有一个目录,包含大约3000个文件和几个子目录(wordpress安装)
现在我必须找到类似目录中的所有文件(必须分开主安装和子安装),这些文件是附加文件,并且必须将它们复制到另一个目录中。
我使用这个命令:
$ diff -rq dt-the7 dt-the7-master-from-Yana|grep 'Only in dt-the7'|awk {' print $3 $4 '}|sed 's/:/\//g'|xargs -J {} rsync -av {} neu/
但不知何故某个文件3d.png和一个应该在目标目录的子目录中的其他列表被复制到目标的根目录。
知道为什么会这样吗?
使用cp,rsync还是ditto
没有区别答案 0 :(得分:1)
您需要-R
命令中的rsync
相对选项。
如果没有这个rsync
只复制引用的项而不是引用的路径,那么根级别的项目会按预期复制,但子目录中的项目也会复制到根目录,这不是你的意思想要的。
使用选项rsync
考虑相对路径并在目的地重新创建它。
使用其他命令的示例可能有所帮助,请考虑:
cp A/B.txt C/
将B.txt
复制到C
,不在A
中创建文件夹C
,后者又包含文件{{ 1}}。 B.txt
rsync
-R
的行为与cp
命令相同,-R
会在A
中创建C
目录。
HTH