我的 ubuntu 服务器上有多个文件。
blue-A00001-001.png
green-A00001-002.png
red-A00001-003.png
white-A00001-004.png
ETC
我需要重命名这些文件,所以看起来像这样
A00001-001_blue.png
A00001-002_green.png
A00001-003_red.png
A00001-004_white.png
有人可以帮忙吗?
谢谢
最佳答案
只需 rename :
rename -n 's/^([^-]+)-([^-]+)-([^\.]+)/${2}-${3}_${1}/' *.png
删除
-n
当输出看起来不错时切换。man rename
还有其他同名的工具可能会也可能不会这样做,所以要小心。
util-linux
中的重命名命令包,不会。如果您运行以下命令 (
GNU
)$ file "$(readlink -f "$(type -p rename)")"
并且您的结果包含
Perl script, ASCII text executable
并且不包含 ELF
,那么这似乎是正确的工具 =)如果没有,将其设为
Debian
上的默认值(通常已经如此)和衍生物如 Ubuntu
:$ sudo apt install rename
$ sudo update-alternatives --set rename /usr/bin/file-rename
如果您在其他发行版中没有此命令,请搜索您的包管理器以安装它或 do it manually (没有部门...)
这个工具最初是由 Perl 的父亲 Larry Wall 编写的。
关于ubuntu - 重命名多个文件 - Ubuntu 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62250283/