Поэтому я пытаюсь написать сценарий, который достигает следующего:
- Читает UID файла из текстового файла
- Ищет местоположение файла на основе UID
- Копирует файл, включая его структуру пути, в новое место.
У нас есть средства массовой информации, которые в настоящее время передаются вручную, которые я хочу автоматизировать. У каждого носителя есть UID, которые в целом находятся в одном файле. Носитель находится в определенном месте, я знаю, где находится родительский каталог, но нет отдельного каталога каждого элемента мультимедиа.
В настоящее время мой подход заключается в следующем:
- Пока цикл до конца файла с UID
- Найти соответствующий путь медиа на основе UID
- Выходной путь к временному файлу, поскольку структура медиа-каталога имеет значение, пример структуры пути '../Medias/Shirts/shirtA.jpg ',' ../Medias/Shirts/shirtA_1.jpg ', или' ../Medias/Pants/pantsA.jpg»
- Используйте временный файл, чтобы скопировать медиа в новое место, например, 'cp $ MEDIAPATH/$ UID * $ TARGET'
Итак, у меня есть два вопроса:
- Есть много медиа-элементов, я использую find и dirname, и я тестирую некоторые образцы данных меньшего размера, я уверен, что есть более эффективный способ сделать это, чем мой?
FILEDIR="$(dirname "$(find ${MEDIADIR} -name "$UID" )")"
- Теперь, когда я копирую носитель в новое место, я не уверен, как это сделать, потому что меня не интересует весь путь, т. Е. Путь для элемента мультимедиа может быть '/home/user/media/pants/pantsA.jpg 'в то время как мне нужен только / брюки /, потому что при копировании я хочу сохранить эту структуру, то есть' ../targetDIR/pants/ 'и т. д.?