Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos mac上的rsync移动和删除某些文件_Macos_Terminal_Rsync_Photo_File Management - Fatal编程技术网

Macos mac上的rsync移动和删除某些文件

Macos mac上的rsync移动和删除某些文件,macos,terminal,rsync,photo,file-management,Macos,Terminal,Rsync,Photo,File Management,我有按日期组织的文件夹和子文件夹,名称中包含文件.jpgs和.arw。我希望保持相同的文件夹结构,但将ARW文件移动到文件夹结构的副本,并将其从源目录中删除。此外,如果文件夹不包含任何.ARW文件,则不会复制该文件夹 我正在做这样的事情,我可以在终端屏幕上运行: rsync -av --exclude=.*/ --include=‘*/‘ --include=‘*.arw’ --exclude=‘*’ /Users/adam/test1/ /Users/Adam/test2/ 但在我的测试中

我有按日期组织的文件夹和子文件夹,名称中包含文件.jpgs和.arw。我希望保持相同的文件夹结构,但将ARW文件移动到文件夹结构的副本,并将其从源目录中删除。此外,如果文件夹不包含任何.ARW文件,则不会复制该文件夹

我正在做这样的事情,我可以在终端屏幕上运行:

rsync -av --exclude=.*/ --include=‘*/‘ --include=‘*.arw’  --exclude=‘*’ /Users/adam/test1/ /Users/Adam/test2/
但在我的测试中,它将.jpg和.arw文件复制到测试2。我的假设是,一旦我得到只移动ARW文件的代码,我就会添加--删除源文件

谢谢你的帮助

正确的命令是:

rsync -avm --remove-source-files --include='*.arw' --include='*/' --exclude='*' /Users/adam/test1 /Users/adam/test2
选项“m”阻止复制空目录

您可以使用“--dry run”选项运行rsync,以查看哪些文件将被复制而不实际执行:

rsync -avm --dry-run --remove-source-files --include='*.arw' --include='*/' --exclude='*' /Users/adam/test1 /Users/adam/test2

rsync似乎存在.ARW文件类型问题。更改了将JPEG文件移动到新目录的要求

rsync-am--删除源文件--include='.jpeg'--include='.jpg'--include='/'--exclude='/Users/adam/test\1//Users/adam/test2/


谢谢

因此,它只是创建了test2的目标目录,但没有在子文件夹(2015_02_12)中搜索照片文件扩展名,也没有移动它们。源目录是test1->2015\u 02\u 12->Photo Files