我想将我的图像从 .png 重命名为 @2x.png。有没有一些简单的方法可以用终端做到这一点?
问问题
2591 次
6 回答
19
在 Mark Setchell 的回答的帮助下,我能够用以下单行来解决这个问题:
for f in *.png; do NEW=${f%.png}@2x.png; mv ${f} "${NEW}"; done;
编辑: flopr 是对的,现在应该可以工作了
于 2013-11-15T12:28:15.960 回答
7
让我在贡献中添加一些内容。一种更通用的、多种格式(jpg、png、..)和名称“无扩展”(模式<名称>@2x.<扩展名>)的一个内衬解决方案是:
for file in *; do mv "$file" "${file%.*}@2x.${file##*.}"; done
这就像一个魅力。希望能帮助到你
于 2014-02-23T13:27:27.830 回答
4
这应该这样做:
#!/bin/bash
ls *.png | while read f
do
BASE=${f%.png} # Strip ".png" off end
NEW=${BASE}@2x.png # Add in @2
echo mv "$f" "${NEW}" # Rename
done
将其保存在名为 Add2x 的文件中,然后键入:
chmod +x Add2x
./Add2x
当你看到它要做什么时,去掉“echo”这个词,让它真正做到。
于 2013-11-15T09:10:34.420 回答
3
自 10.10 以来, macOS 有一个鲜为人知的内置选项来批量重命名文件。无需终端,现在只需在 Finder 中选择文件,右键单击并选择“重命名n 个项目...”即可:
指定查找:.png
和替换为:@2x.png
,然后单击重命名。
于 2019-03-13T13:32:09.747 回答
0
我使用的递归单线:
find -L . -type f -name "*.png" -exec bash -c 'echo "$0" "${0%.*}@2x.png"' {} \;
-L 用于处理符号链接...类型 f 仅用于查找文件
如果您对命令的作用感到满意,请将 'echo' 与 'mv' 交换。
于 2014-04-30T05:25:45.027 回答
0
实际上,有一个更简单的方法,使用 Perlrename
工具...
rename 's/(.+)\.png/$1\@2x.png/i' *.png
就是说... “替换一个或多个字符,后跟.png
相同的字符和。对所有 PNG 文件以@2x.png
不区分大小写的方式 ( ) 执行此操作。”i
该rename
工具很容易安装homebrew
使用brew install rename
。
于 2016-06-02T11:11:51.193 回答