Bash 用于复制文件夹及其所有内容的shell脚本';s子文件夹,但没有&x27;s文件

Bash 用于复制文件夹及其所有内容的shell脚本';s子文件夹,但没有&x27;s文件,bash,shell,unix,Bash,Shell,Unix,我需要一个shell脚本来复制文件夹及其所有子文件夹,但不复制任何文件。解决方案的可移植性(osx、linux、cygwin)越强越好。试试看: rsync -av -f"+ */" -f"- *" /path/src /path/dest/ 尝试一下: rsync -av -f"+ */" -f"- *" /path/src /path/dest/ 这有可能跨机器边界复制,而我的解决方案没有。@chepner“跨机器边界”是什么意思?顺便说一句,你的很好,但是在执行find cmd之前,你

我需要一个shell脚本来复制文件夹及其所有子文件夹,但不复制任何文件。解决方案的可移植性(osx、linux、cygwin)越强越好。

试试看:

rsync -av -f"+ */" -f"- *" /path/src /path/dest/
尝试一下:

rsync -av -f"+ */" -f"- *" /path/src /path/dest/

这有可能跨机器边界复制,而我的解决方案没有。@chepner“跨机器边界”是什么意思?顺便说一句,你的很好,但是在执行find cmd之前,你可能需要
cd/home/alice/prj
。或者可以使用
printf
稍微处理找到的目录名。否则它可能会执行类似于
mkdir-p/home/bob/home/alice/project/foo的操作。关于需要修改调用
mkdir
的找到的路径值,您是对的;根据您的解决方案,它实际上不值得修复。非常感谢!这对你来说可能是件小事,但对我来说非常非常有用!:)这有可能跨机器边界复制,而我的解决方案没有。@chepner“跨机器边界”是什么意思?顺便说一句,你的很好,但是在执行find cmd之前,你可能需要
cd/home/alice/prj
。或者可以使用
printf
稍微处理找到的目录名。否则它可能会执行类似于
mkdir-p/home/bob/home/alice/project/foo的操作。关于需要修改调用
mkdir
的找到的路径值,您是对的;根据您的解决方案,它实际上不值得修复。非常感谢!这对你来说可能是件小事,但对我来说非常非常有用!:)