У нас есть программа, которая добавляет файл 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) - это Dynami c, что означает, что она создается автоматически, если программа обнаружит кого-то, кто использует это устройство, и создаст эту папку. Так, например, если новый пользователь использует программное обеспечение, он создаст home/user/music/group1/person3/
.
Как мне переместить или скопировать, начиная с папки person (n), и переместить их в новую папку, например home/user/new/person1..
home/user/new/person2..
Поскольку папка person (n) - это Dynami c Я не мог просто выполнить команду вроде cp person1 newdirectory То, что я сделал, - это нашел все файлы wav в папке group1 и cp в новую папку, но она копирует полный путь.
find /home/user/music/group1 -name "*.wav" -type f -exec cp --parents \{\} /home/user/new \;
Если я удалю --parents
, файлы будут скопированы только в новую папку. как скопировать, начиная с папки person (n), в новую папку?