我需要一个用@ 2x.png替换.png的脚本如何对目录中的所有文件名执行此操作?
答案 0 :(得分:3)
假设bash:
for f in *.png; do
mv "$f" "${f%.png}@2x.png"
done
for f in *.png; do
For循环。迭代当前目录中与glob模式*.png
匹配的所有文件名,依次将$f
设置为每个名称,并执行循环体。
mv "$f" "${f%.png}@2x.png"
执行mv
工具。第一个arg只是"$f"
,这是您要重命名的文件。第二个arg是一个两步过程:
${f%.png}
计算扩展名为.png
的文件名。
在剥离的文件名后面是@2x.png
,只需将该字符串追加到文件名中。
done
终止for循环。
答案 1 :(得分:0)
以下脚本适合您:
#!/bin/bash
for file in *.png
do
filename=$(basename "$file")
filename="${filename%.*}"
filename="${filename}@2x.png"
mv "$file" "$filename"
done