【问题标题】:Rename multiple files on linux在linux上重命名多个文件
【发布时间】:2018-10-26 00:13:57
【问题描述】:

所以我有一个文件夹,里面有几个这样命名的文件:

name_file_00000.jpg  
name_file_00001.jpg  
name_file_00002.jpg  
name_file_00003.jpg  
...  
name_file_00080.jpg

我想像这样重命名这些文件:

name_file_00000.jpg ==> name_file_00001.jpg  
name_file_00001.jpg ==> name_file_00002.jpg  
name_file_00002.jpg ==> name_file_00003.jpg  
...  
name_file_00080.jpg ==> name_file_00081.jpg

如何在 Linux 中使用单个命令做到这一点?

【问题讨论】:

  • 只需编写一个shell脚本来计算预期的文件名并执行mv移动命令。
  • 带有 for 循环和 shellscript 中的 mv 命令
  • Stack Overflow 不是代码编写服务。请出示您的代码。由于 Stack Overflow 向您隐藏了关闭原因:寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定问题或错误以及在问题本身。没有明确问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example

标签: regex linux command-line rename


【解决方案1】:

试试这个:一个简单的 for 循环,从 80 循环到 00 并使用 mv 命令。 它必须向后循环,因为您不能将 file_name_00000.jpg 重命名为 file_name_00001.jpgfile_name_00001.jpg 尚未重命名。

for i in `seq -sw 0 80`; do mv "file_name_000$i.jpg file_name_000$[i+1].jpg"; done

【讨论】:

    猜你喜欢
    • 2022-01-13
    • 2012-06-14
    • 2016-10-20
    • 2014-09-14
    • 2022-01-26
    • 1970-01-01
    • 2015-04-17
    • 2014-02-27
    • 2013-12-05
    相关资源
    最近更新 更多