将文件夹和子文件夹的多个文件移动并重命名到新文件夹中

move and rename multiple files of folders and subfolders into new folder

所以我有一个巨大的文件夹结构,我想将所有现有文件移动到 1 个新文件夹中,并将之前的文件夹名称作为前缀。
示例:

Old/Test/a1/Tree.txt  
Old/Test/a1/House.txt  
Old/Test/a2/Dog.txt  
Old/Test/a3/Cat.txt  
--> New/Test_a1_Tree.txt  
--> New/Test_a1_House.txt  
--> New/Test_a2_Dog.txt  
--> New/Test_a3_Cat.txt  

不幸的是,我不知道如何自动执行此操作,但希望得到建议。
提前谢谢大家:)

find Old -type f -exec bash -c '
  for p; do
    q=${p#Old/}
    echo mv "$p" "New/${q//\//_}"
  done' _ {} +

如果您对输出满意,请删除 echo