我需要批量重命名名称中带有 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 为基数。
如果这不能满足您的需求,请在问题中提供更多要求。