V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
fl2al7k
V2EX  ›  Linux

求教 rename 批量删除文件名中的一些字符

  •  
  •   fl2al7k · Aug 12, 2015 · 6514 views
    This topic created in 3923 days ago, the information mentioned may be changed or developed.
    现在有很多个文件,文件名结尾有些乱七八糟的字符,想删除掉。
    特举例俩个文件名,求教一条命令:
    文件一:
    v2ex_Test_V1.0.1_zhenshimaf.txt
    文件二:
    v2ex_Online_V1.0.1_toudale.txt

    想要把文件里面_zhenshimaf和_toudale这种无意义字符删除掉。

    我不懂正则表达式匹配我是这么写的:
    rename 's/V1.0.1*.txt/V1.0.1.txt/' *

    然后肯定是不对的。。求高手帮忙~
    12 replies    2021-03-23 17:29:11 +08:00
    noe132
        1
    noe132  
       Aug 12, 2015
    分析一下

    一般格式如下

    (name)_(vertion)_(description).(suffix)

    一段一段写就可以了。

    (([a-zA-Z0-9]*)(_[a-zA-Z0-9]*){0,10})_[vV]?(\d*(\.\d*){0,10})_([a-zA-Z0-9]*)\.([a-zA-Z0-9]{1,10})

    写的貌似不太精简~
    lilydjwg
        2
    lilydjwg  
       Aug 12, 2015
    rename 's/_[^.]+\.txt/.txt/' *.txt
    aec4d
        3
    aec4d  
       Aug 12, 2015
    是我就写脚本了XD
    a = 'v2ex_Test_V1.0.1_zhenshimaf.txt'
    print(a.rsplit('_', 1)[0] + '.txt')
    shinestmt
        4
    shinestmt  
       Aug 12, 2015
    使用Excel, 找到最后一个下划线, 保留之前的内容, 在加上后缀.
    然后拼装命令 rename A1 B1
    ngn999
        5
    ngn999  
       Aug 12, 2015
    如果按perl的正则写:

    rename 's/_[^_]+\.txt/.txt/' *
    skydiver
        6
    skydiver  
       Aug 12, 2015   ❤️ 1
    真是麻烦,头大了
    stockss
        7
    stockss  
       Aug 12, 2015
    这么简单的问题,不用正则。
    Shazoo
        8
    Shazoo  
       Aug 12, 2015
    额,直觉是使用find来做……
    msg7086
        9
    msg7086  
       Aug 12, 2015
    直接正则即可啊, s/_[a-z]+\././ 楼主自己再根据情况改改呗,毕竟不知道你文件的规律。
    HMSQQbA
        10
    HMSQQbA  
       Aug 13, 2015 via Android
    我就直接用py脚本,迅速解决
    Catcheru
        11
    Catcheru  
       Jun 21, 2019
    rename 可以进入更深层次修改子文件的名字吗?
    BoyBoy
        12
    BoyBoy  
       Mar 23, 2021
    @Catcheru #11 不能的吧,看了很多帖子,只能修改当前目录下的文件
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   909 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 21:30 · PVG 05:30 · LAX 14:30 · JFK 17:30
    ♥ Do have faith in what you're doing.