【问题标题】:Linux: How to batch rename files, trimming characters in the middle, and end of the filenameLinux:如何批量重命名文件,在文件名的中间和结尾修剪字符
【发布时间】:2015-02-07 15:57:24
【问题描述】:

我有大约一千个文件需要重命名。文件名都是这样的

XXXXppppppp-ppppp_S!!_L001XXX_001.extension

X 是我需要保留的信息,并且!是一个顺序递增的数字(即 01、02...99)。

我真的无法理解重命名命令,以及如何实现我需要做的事情。基本上我想保留前四个字符,删除接下来的 22 个,保留接下来的 3 个并删除最后的 4 个。我还想保留扩展名。

谢谢!

【问题讨论】:

    标签: linux file rename trim


    【解决方案1】:

    尝试这样做:

    rename -n 's/^(.{4}).{22}(.{3}).{4}(\..*)/$1$2$3/' *
    

    验证您的rename 命令是perl 的命令,有时还安装了另一个命令。好的有时称为prename

    当测试正常时,移除-n 开关(试运行)。

    【讨论】:

    • 你忘记了 .在替换字符串中的扩展之前。 (或者将其包含在第三组中。)
    猜你喜欢
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    • 2013-12-09
    • 2021-06-17
    • 2015-08-15
    • 2014-11-13
    • 2016-04-09
    • 2017-12-08
    相关资源
    最近更新 更多