正则表达式在bash中查找并复制(保留文件夹结构)?

Jon*_*erg 3 bash find

我有一个包含一堆日志文件的文件夹.每组日志文件都在一个文件夹中,详细说明了程序运行的时间和日期.在这些日志文件夹中,我有一些我想要提取的视频文件.我想要的只是视频文件,没有别的.我尝试使用此命令仅复制视频文件,但它不起作用,因为目录不存在.

.rmv是我想要的文件的文件扩展名.

$ find . -regex ".*\.rmv" -type f -exec cp '{}' /copy/to/here/'{}'
Run Code Online (Sandbox Code Playgroud)

如果我有一个文件夹结构,例如:

|--root  
   |  
   |--folder1  
   |  |  
   |  |--file.rmv  
   |  
   |--folder2  
      |  
      |--file2.rmv  
Run Code Online (Sandbox Code Playgroud)

我怎样才能将它复制到/在/这里复制目标目录中的folder1和folder2的结构?

小智 12

cp有争论 - 父母所以做你想做的最短的方法是:

find root -name '*.rmv' -type f -exec cp --parents "{}" /copy/to/here \;
Run Code Online (Sandbox Code Playgroud)