因此我尝试编写一个脚本来实现以下目标:
- 从文本文件读取文件 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”而我只需要/pants/,因为复制时我想维护这个结构,即“../targetDIR/pants/”等?