Я загрузил zip ic_add.zip материальных значков дизайна. Эта zip содержит иерархию папок как это:
res --> drawable-hdpi --> ic_add.png
--> drawable-mdpi --> ic_add.png
--> drawable-xhdpi --> ic_add.png
--> drawable-xxhdpi --> ic_add.png
--> drawable-xxxhdpi --> ic_add.png
Теперь, мой вопрос состоит в том, как я могу поместить эти 5 значков в их resp. папки внутри myProject/res папка?
т.е. значки внутри drawable-hdpi
должен войти myProject/res/drawable-hdpi
. То же для других. Прямо сейчас я выбираю один значок и вставляю его соответствующую папку, но это - слишком длинный процесс, когда существует много значков для копирования. Так, я хочу некоторый более быстрый путь или управляю, если это возможно. Я использую человечность 16.04
Я предполагаю это после извлечения Вашего архива в названную папку zip
, у Вас есть следующая структура каталогов:
$ tree -F
.
├── myProject/
│ └── res/
│ ├── drawable-hdpi/
│ ├── drawable-ndpi/
│ ├── drawable-xhdpi/
│ └── drawable-xxhdpi/
└── zip/
├── drawable-hdpi/
│ ├── ic_add.png
│ └── ic_del.png
├── drawable-ndpi/
│ ├── ic_add.png
│ └── ic_del.png
├── drawable-xhdpi/
│ ├── ic_add.png
│ └── ic_del.png
└── drawable-xxhdpi/
├── ic_add.png
└── ic_del.png
Затем можно просто переместить все *.png
файлы от всех drawable-*/
каталоги внутри zip/
в их соответствующее drawable-*/
каталоги внутри myProject/res/
использование следующей команды:
for folder in zip/drawable-*/ ; do mv "$folder"/*.png "myProject/res/$(basename $folder)" ; done
Это циклично выполнится по всем zip/drawable-*/
папки, вычислите соответствующий целевой каталог путем добавления последнего компонента контура исходной папки к myProject/res/
путь и перемещение все *.png
файлы от исходной папки до целевой папки.
Можно изменить шарики оболочки и пути для установки реальной среде.
Можно заменить mv
с cp
скопировать файлы вместо того, чтобы переместить их.
Можно записать mv -i
чтобы быть спрошенными перед, любые существующие файлы перезаписываются или mv -n
пропускать файлы, которые уже существуют и ничего не перезаписывают. Те же переключатели существуют для cp
.
Однако отметьте это ни один mv
ни cp
создайте недостающие каталоги, поэтому удостоверьтесь, что пути назначения для каждого файла уже существуют.