【问题标题】:Including different files with the same name in a Find and Move Bash Script在查找和移动 Bash 脚本中包含同名的不同文件
【发布时间】:2013-11-20 14:58:31
【问题描述】:

我正在使用 bash 脚本来搜索和归档不同子目录中的文件。有一些文件同名;

(例如 ABC_000.gif)

但它们实际上是不同的图像。有没有一种简单的方法来移动和重命名这些文件,方法是在文件名的末尾添加一个字符串,例如原始文件为 ABC_000.gif,复制文件为 ABC_000.gif.gif

【问题讨论】:

标签: linux bash unix find mv


【解决方案1】:

$SOURCE是源文件,$DEST是目标文件;这会在 $DEST 已经存在时附加后缀,然后移动它。

while [ -e $DEST ]
do
    DEST+=.`<<<$DEST sed 's/.*\.//'`
done
mv $SOURCE $DEST

【讨论】:

    【解决方案2】:

    试试这个:

    #!/bin/bash
    i = 0
    FILES=`find -name ABC_000.gif | xargs -r`
    for FILE in $FILES; do
        mv $FILE ./$FILE_$i
        let "i += 1"
    done
    

    【讨论】:

    • 是的,对不起,这是一个错误。
    猜你喜欢
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多