在“查找并移动Bash脚本”中包含具有相同名称的不同文件



Im使用bash脚本搜索并归档不同子目录中的文件。有些文件具有相同的名称;

(例如ABC_000.gif)

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

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

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

试试这个:

#!/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

最新更新