【发布时间】:2020-07-14 08:42:05
【问题描述】:
我们有一个软件,它可以添加一个wav 文件,并按日期将它放在一个文件夹中,该文件夹被埋在几个子文件夹下。
例如:
home/user/music/group1/person1/todays date/wav file
home/user/music/group1/person1/yesterdays date/wav file
home/user/music/group1/person2/todays date/wav file
home/user/music/group1/person2/yesterdays date/wav file
此外,person(n) 文件夹是动态的,这意味着如果软件发现有人使用该设备并创建该文件夹,则会自动创建该文件夹。例如,如果一个新用户正在使用该软件,它将创建home/user/music/group1/person3/。
如何从 person(n) 文件夹开始移动或复制并将它们移动到新文件夹,例如 home/user/new/person1.. home/user/new/person2..
由于 person(n) 文件夹是动态的,我不能只执行 cp person1 newdirectory 这样的命令 我所做的是在 group1 文件夹下找到所有 wav 文件并将 cp 到新文件夹,但它复制了完整路径。
find /home/user/music/group1 -name "*.wav" -type f -exec cp --parents \{\} /home/user/new \;
如果我删除--parents,它只会将文件复制到新文件夹。如何从 person(n) 文件夹开始复制到新文件夹?
【问题讨论】:
-
所以实际上,您只需要从路径中提取 person(n) 元素。既然你知道父目录的结构,那么你就可以把一个目录的标准副本复制到另一个目录吗?
标签: linux bash ubuntu copy move