首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用csv文件中的信息重命名照片

如何使用csv文件中的信息重命名照片
EN

Stack Overflow用户
提问于 2017-03-16 06:24:15
回答 1查看 516关注 0票数 0

我是unix的新手,真的需要你的帮助。

我想重命名许多照片,以便它们与图片上的项目代码相对应。我有一个.csv文件,它有原始的.jpg名称,然后是我希望将照片重命名为的代码,在连续的列中这样做。例如:

IMG_1234.JPG,AB001,AB003,AB004 IMG_1345.JPG,AB011,AB012,AB013,AB014,AB015 IMG_1456.JPG,AB112 IMG_1678.JPG,AB125,AB126

因此,我希望IMG_1234.JPG复制3次,并重命名为AB001、AB003和AB004等。

我知道我需要一个脚本,我可以复制和重命名文件,但我不知道如何让脚本在csv文件中运行,并将.jpg复制和重命名到后面的名称,直到一个空单元格,然后转到下一行,复制和重命名那个.jpg等等。

我希望我的问题是清楚的,我很抱歉我的知识有限。

提前感谢!

编辑:图片名的前面有目录(有空格),因为照片在不同的文件夹中。例如:

/照片排序/Samples1-100/IMG_1134.JPG

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-16 06:53:13

这应该能做你想做的。csv文件的文件名作为脚本的参数。您可以调整copy命令中的路径,当前所有内容都必须位于同一个目录中。如果您在mac或linux上使用此方法,则还可以使用"ln -s“代替"cp”来创建指向原始文件的符号链接,以节省磁盘空间。

代码语言:javascript
运行
复制
    CSVFILE=$1

    cat $CSVFILE |\
    while read LINE; do
        SPLIT=`echo $LINE | tr "," " "`
        FIRST=0
        for NAME in $SPLIT; do
            if [ $FIRST -eq 0 ]; then
                SRCNAME=$NAME
            else
                DSTNAME=$NAME
                cp ${SRCNAME}.jpg ${DSTNAME}.jpg
            fi
            ((FIRST++))
        done
    done
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42826707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档