У меня есть папка, состоящая из M нескольких подпапок, каждая из которых содержит некоторые текстовые файлы и N изображения (*.png)
Это то, что дерево выглядит следующим образом: [ ! d1]
/parent/
/sub-folder1/
/data1.dat
/data2.dat
/image1.png
/image2.png
...
/imageN.png
/sub-folder2/
/data1.dat
/data2.dat
/image1.png
/image2.png
...
/imageN.png
...
/sub-folderM/
/data1.dat
/data2.dat
/image1.png
/image2.png
...
/imageN.png
заметить, что все изображения в каждой подпапке имеют одинаковые имена (например: image1.png, ..., imageN.png)
Мне нужно переместить только изображения в новую родительскую папку (скажем, parent2), в то время как репликация структуры подпапок. После выполнения перемещения новая родительская папка должна выглядеть так:
/parent2/
/sub-folder1/
/image1.png
/image2.png
...
/imageN.png
/sub-folder2/
/image1.png
/image2.png
...
/imageN.png
...
/sub-folderM/
/image1.png
/image2.png
...
/imageN.png
(т. Е. Только изображения и соблюдение той же структуры подпапок)
и оригинал должна выглядеть так:
/parent/
/sub-folder1/
/data1.dat
/data2.dat
/sub-folder2/
/data1.dat
/data2.dat
...
/sub-folderM/
/data1.dat
/data2.dat
(т. е. изображения перемещены)
Я видел несколько примеров сценариев, которые могут перемещать все файлы в новую папку (сценарий оболочки для перемещения всех файлов из подпапок в родительскую папку) или некоторых, которые могут перемещать только изображения (сценарий для перемещения изображений), но я не нашел того, который будет делать это, соблюдая дерево подпапок.
$ cp -r parent1/ parent2
$ rm parent2/*/*.dat
$ rm parent1/*/*.png