使用正则表达式在 Mac OS 终端中重命名文件

6 osx bash terminal regular-expression rename

在 MacOS 10.9 Mavericks 上,需要使用 regex 使用终端命令重命名数百个图像。

这些文件以这种方式命名:

0045AW489R3T(IPCAM)_0_20131124101245_931.jpg
0021DF025C8E(IPCAM)_0_20131127101721_44591.jpg
389223GT4Z6W(IPCAM)_0_20131128103423_7893282.jpg
Run Code Online (Sandbox Code Playgroud)

它们需要重命名为:

2013-11-24  10-12-45.jpg
2013-11-27  10-17-21.jpg
2013-11-28  10-34-23.jpg
Run Code Online (Sandbox Code Playgroud)

谁能告诉我怎么做?

dam*_*ois 6

你可以试试

for a in *.jpg ; do mv -- "$a" "${a:22:4}-${a:26:2}-${a:28:2} ${a:30:2}-${a:32:2}-${a:34:2}.jpg" ; done
Run Code Online (Sandbox Code Playgroud)

有点难看,但它应该可以完成工作。像往常一样,请务必先在副本上进行测试。

  • 对,他们是。假设,如示例中所示,所有字符串的格式都相同。 (2认同)