【问题标题】:Renaming files like 20141207_190822.jpg to "2014-12-07 19.08.22.jpg" in linux or MacOS X在 linux 或 MacOS X 中将 20141207_190822.jpg 等文件重命名为“2014-12-07 19.08.22.jpg”
【发布时间】:2014-12-31 01:22:29
【问题描述】:

如何在 Linux 或 MacOS X 中将一堆名称为 20141207_190822.jpg 和 20141207_190823.mp4 的文件重命名为这种格式:

2014-12-07 19.08.22.jpg 和 2014-12-07 19.08.23.mp4

?

我找到了很多示例如何在文件名的开头添加一些内容,但在这里我需要通过在文件名中间插入符号并将 _ 替换为空格“”来更改掩码。

谢谢

【问题讨论】:

  • 我猜因为这是堆栈溢出问题,所以您需要一个编程解决方案,但如果这是例行文件管理问题,Thunar 文件管理器的批量重命名工具非常适合此问题。

标签: linux macos filenames


【解决方案1】:

尝试这样做:

$ rename 's@^(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2})@$1-$2-$3 $4.$5.$6@' *

还有其他同名的工具可能会也可能不会,所以要小心。

如果你运行以下命令:

$ file $(readlink -f $(type -p rename))

你会得到类似

的结果
.../rename: Perl script, ASCII text executable

那么这似乎是正确的工具 =)


如果你没有这个命令,搜索你的包管理器安装它或do it manually


最后但同样重要的是,这个工具最初是由 Perl 的父亲 Larry Wall 编写的。

【讨论】:

  • 已安装重命名:brew install rename 之后该命令有效$ rename 's@^(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2})@$1-$2-$3 $4.$5.$6@' * 谢谢
猜你喜欢
  • 2017-09-30
  • 2013-02-02
  • 2017-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-29
  • 1970-01-01
相关资源
最近更新 更多