shell脚本,用@ 2x.png替换.png

时间:2012-11-06 22:50:21

标签: macos shell

我需要一个用@ 2x.png替换.png的脚本如何对目录中的所有文件名执行此操作?

2 个答案:

答案 0 :(得分:3)

假设bash:

for f in *.png; do
    mv "$f" "${f%.png}@2x.png"
done

说明:

第1行:

for f in *.png; do

For循环。迭代当前目录中与glob模式*.png匹配的所有文件名,依次将$f设置为每个名称,并执行循环体。

第2行:

mv "$f" "${f%.png}@2x.png"

执行mv工具。第一个arg只是"$f",这是您要重命名的文件。第二个arg是一个两步过程:

  1. ${f%.png}计算扩展名为.png的文件名。

  2. 在剥离的文件名后面是@2x.png,只需将该字符串追加到文件名中。

  3. 第3行:

    done
    

    终止for循环。

答案 1 :(得分:0)

以下脚本适合您:

#!/bin/bash

for file in *.png
do
    filename=$(basename "$file")
    filename="${filename%.*}"
    filename="${filename}@2x.png"
    mv "$file" "$filename"
done