通过 ID 转换进行批量重命名?

通过 ID 转换进行批量重命名?

我需要批量重命名名称中带有 id 的一堆文件,并在 id 中添加一个常数

 <id>-xxx.txt => <id+shift>-yyy.txt

有什么想法可以实现吗?也许可以用 awk?

答案1

constant=42
for f in *.txt; do    # choose your pattern as appropriate.
    IFS='-.' read id suffix ext <<< "$f"
    newname="$(( 10#$id + constant ))-yyy.$ext"
    echo mv "$f" "$newname"
done

我在算术表达式中添加了“10#”,以确保即使该数字以零开头,也被视为以 10 为基数。

如果这不能满足您的需求,请在问题中提供更多要求。

相关内容