【问题标题】:Linux: find a match pattern and rename whole file with that MatchLinux:找到匹配模式并用该匹配重命名整个文件
【发布时间】:2015-11-21 13:07:00
【问题描述】:

我有数百个这样格式的 id 文件

106527-Sup, Perman  .jpg
106528-Iron, man  .jpg
106529-Bat, man  .jpg
106530-Spider, man  .jpg

我需要将它们重命名为

106527.jpg
106528.jpg
106529.jpg
106530.jpg

如何使用正则表达式和重命名命令

【问题讨论】:

  • rename -n 's/^(\d+).*\.jpg$/$1/' *.jpg 适合你吗?
  • 如果 Maroun 的回答对您有用,请接受。

标签: regex rename


【解决方案1】:

你可以使用基于 perl 的rename:

rename 's/^(\d+).*jpg$/$1\.jpg/' *.jpg
  • ^ 匹配输入开头的位置
  • \d+ 匹配一位或多位数字
  • .* 匹配介于两者之间的所有内容
  • $ 匹配输入末尾的位置

第一组 ($1) 包含您要替换的数字。

【讨论】:

  • 谢谢,这是结果 106527 106528 106529 106530 它去掉了.jpg
  • 太棒了!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-26
  • 2017-07-19
  • 1970-01-01
  • 1970-01-01
  • 2019-02-09
  • 1970-01-01
相关资源
最近更新 更多