Shell:复制某些类型的文件保持目录结构

B.M*_*.W. 0 linux shell

假设我有一个遵循以下结构的文件夹:

$ ls /tmp/level1
level2_folder1    level2_folder2
$ ls /tmp/level1/level2_folder1
input output script.py ...
$ ls /tmp/level1/level2_folder2
input output script.py ...
Run Code Online (Sandbox Code Playgroud)

我想将所有Python脚本仅复制到其他地方但保留现有结构.假设我想将level1文件夹复制到home /所以它应该如下所示:

$ ls /home/level1
level2_folder1    level2_folder2
$ ls /home/level1/level2_folder1
script.py 
$ ls /home/level1/level2_folder2
script.py
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

Rol*_*sen 5

rsync -avz --include "*/" --include "*.py" --exclude "*" /tmp/level1 /home
Run Code Online (Sandbox Code Playgroud)