我需要一个脚本来将 .png 替换为 @2x.png 如何对目录中的所有文件名执行此操作?
问问题
131 次
2 回答
3
假设 bash:
for f in *.png; do
mv "$f" "${f%.png}@2x.png"
done
解释:
第 1 行:
for f in *.png; do
对于循环。遍历当前目录中与 glob 模式匹配的所有文件名,依次*.png
设置$f
为每个名称,并执行循环体。
第 2 行:
mv "$f" "${f%.png}@2x.png"
执行mv
工具。第一个 arg 是 just "$f"
,这是您要重命名的文件。第二个参数是一个两步过程:
${f%.png}
.png
评估为去掉扩展名的文件名。在剥离的文件名之后是
@2x.png
,它只是将该字符串附加到文件名上。
第 3 行:
done
终止 for 循环。
于 2012-11-06T23:04:48.283 回答
0
以下脚本应该适合您:
#!/bin/bash
for file in *.png
do
filename=$(basename "$file")
filename="${filename%.*}"
filename="${filename}@2x.png"
mv "$file" "$filename"
done
于 2012-11-06T23:12:56.900 回答