【问题标题】:Bulk renaming of files by extracting characters between the first and second underscore in the filename通过提取文件名中第一个和第二个下划线之间的字符来批量重命名文件
【发布时间】:2017-08-31 22:09:19
【问题描述】:

我正在尝试使用 sed、重命名或 OSX 中的任何其他方式批量重命名文件夹中的文件。我想保留第一个和第二个下划线之间的部分文件名。例如,将“JAS_9877_FF_0023.jpg”重命名为“9877.jpg”,我需要为数百个文件执行此操作。

谢谢,

Z。

【问题讨论】:

  • 您对工具有任何偏好吗? rename "s/[^_]*_\([0-9]*\).*\.jpg/\1.jpg/" * 可能会这样做,但我没有 rename 方便,所以我无法测试它。如果有帮助,我可以使用 Make、bash 和/或 Perl 提供解决方案。
  • 我会在make 中支持解决方案!我从没见过!
  • @Beta,我对工具没有任何偏好。我尝试了您的重命名建议,但得到以下错误作为回报:\1 在 (eval 2) 第 1 行最好写为 $1。

标签: sed rename


【解决方案1】:

最后我得到了它:

for a in * ;做 mv $a $(echo $a | cut -d'_' -f 2).jpg ;完成

【讨论】:

    最近更新 更多