linux 使用 rename 给文件名批量加后缀、换后缀和去掉后缀

这篇具有很好参考价值的文章主要介绍了linux 使用 rename 给文件名批量加后缀、换后缀和去掉后缀。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考 Linux批量修改文件名前缀rename命令
$ rename -h

抄写他的一段文字

Substitution替换
 s / expr1 / expr2 / [gi]
 /为分界符,可以使用其他任意字符为分界符
 expr1,expr2都支持正则
 expr1会被查找替换为expr2。
 ig两个字母分别为正则的匹配模式:忽略大小写和全局匹配,否则默认换行为分界符。方括号[]包裹表示他们可不填。
 
 Translation字符转译
 类似于替换s,它可用于将一个字符串转换为另一个字符串,即字符转换。表达式如:y/charset1/charset2/
 
如:
 转换为小写:rename 'y/A-Z/a-z/' *
 添加txt后缀:rename 's/$/\.txt/'  *
  1. 准备文件

     $ touch test{1..9}.txt
     
     $ ls
     test1.txt  test2.txt  test3.txt  test4.txt  test5.txt  test6.txt  test7.txt  test8.txt  test9.txt
    
  2. 去掉.txt 后缀
    也就是: .txt 后缀替换成空

     $ rename   's/\.txt$//'   *
     解释 : 被替换部分:.txt$ ( 以 .txt 结尾)
     		替换后部分: 空	 (替换为 空 )
     $ ls
     test1  test2  test3  test4  test5  test6  test7  test8  test9
    
  3. 加上 .zip 后缀

     $ rename 's/$/\.zip/'  *
     解释 : 被替换部分:$ ( 所有结尾字符)
     			 替换后部分: \.zip (替换为 .zip )
     $ ls
     test1.zip  test2.zip  test3.zip  test4.zip  test5.zip  test6.zip  test7.zip  test8.zip  test9.zip
    
  4. .zip 后缀替换为.txt 后缀

     $ rename   's/\.zip$/.txt/'   *
     解释 : 被替换部分:\.zip$( 以.zip$结尾)
     		替换后部分: .txt 	(替换为 .txt)
     				 
     $ ls
     test1.txt  test2.txt  test3.txt  test4.txt  test5.txt  test6.txt  test7.txt  test8.txt  test9.txt
    
  5. 去掉特定字符结尾 ( 后缀没有 . )

     1). 先去掉后缀
     $ rename   's/\.txt$//'   *
     
     2). 然后假设操作错误,还连续 2 次错误,结果文件名后面就都带着2个zip了
     
     $ rename 's/$/zip/'  *
     解释 : 被替换部分:$( 所有结尾字符)
     		替换后部分: zip 	(替换为 zip ,忘了加 \.)
     		
     $ rename 's/$/zip/'  *
     $ ls
     test1zipzip  test2zipzip  test3zipzip  test4zipzip  test5zipzip  test6zipzip  test7zipzip  test8zipzip  test9zipzip
     
     3). 去掉一个 zip 
     $ rename   's/zip$//'   *
     解释 : 被替换部分: zip$ ( 以 zip 结尾)
     			 替换后部分: 空
     $ ls
     test1zip  test2zip  test3zip  test4zip  test5zip  test6zip  test7zip  test8zip  test9zip
     
     4). 重复一次,即可去掉另一个zip
     
     当然也可以一次就去掉 2 个 zip,那个正则表达式就复杂一些
    
  6. 替换或去掉开头或中间部分字符串文章来源地址https://www.toymoban.com/news/detail-739873.html

     $ ls
     test1  test2  test3  test4  test5  test6  test7  test8  test9
     
     1). 开头 test 替换为 good
     
     $ rename   's/^test/good/'   *
     解释 : 被替换部分:^test( 以test开头)
     		替换后部分: good(替换为 good )
     $ ls
     good1  good2  good3  good4  good5  good6  good7  good8  good9
     
     2). 开头 good 替换为 testandtest ,为了下面替换中间字符
     $ rename   's/^good/testandtest/'   *
     解释 : 被替换部分:^good( 以good开头)
     		替换后部分: testandtest(替换为 testandtest )
     $ ls
     testandtest1  testandtest3  testandtest5  testandtest7  testandtest9
     testandtest2  testandtest4  testandtest6  testandtest8
     
     3). 替换其中的 and 为 &
     $ rename   's/and/\&/'   *
     解释 : 被替换部分:and( 文件名中的 and)
     		替换后部分: &(替换为 & )		
     $ ls
     'test&test1'  'test&test3'  'test&test5'  'test&test7'  'test&test9'
     'test&test2'  'test&test4'  'test&test6'  'test&test8'
     
     4). 文件名都带引号了,因为 & 是个特殊字符 ? 给他换成下划线 _
     
     $ rename   's/&/_/'   *
     解释 : 被替换部分:&( 文件名中的 &)
     		替换后部分: _(替换为 _ )		
     $ ls
     test_test1  test_test3  test_test5  test_test7  test_test9
     test_test2  test_test4  test_test6  test_test8
     
     5) 只替换开头的 test
     $ rename   's/^test/good/'   *
     解释 : 被替换部分:^test( 以test开头)
     		替换后部分: good(替换为 good )
     $ ls
     good_test1  good_test3  good_test5  good_test7  good_test9
     good_test2  good_test4  good_test6  good_test8
    

到了这里,关于linux 使用 rename 给文件名批量加后缀、换后缀和去掉后缀的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何在 Linux 中批量改变文件名?

    在Linux中,使用 \\\"rename\\\" 命令可以批量修改文件名。具体步骤如下: 1. 打开终端并进入你要批量修改文件名的目录: ``` cd /path/to/directory ``` 2. 使用 \\\"rename\\\" 命令来修改文件名。例如,将所有的 \\\".txt\\\" 文件扩展名改为 \\\".md\\\" 扩展名,可以使用以下命令: ``` rename \\\'s/.txt$/.md/\\\' *.txt ```

    2024年02月05日
    浏览(33)
  • MultipartFile获取文件名、文件后缀等方法

    获取文件名及后缀信息 获取文件名 获取文件后缀 获取文件类型 获取文件大小 输出结果:

    2024年02月11日
    浏览(44)
  • linux 再文件夹目录下,批量替换文件名、文件内容字符串

    基本使用命令 具体使用命令方法 1.替换文件内容 搜索当前目录下所有.DTA文件,并将文件中字符串\\\"string1\\\",替换为\\\"string2\\\" 2.替换文件名 搜索当前目录下所有.DTA文件,并将文件名中字符串\\\"string1\\\"替换为\\\"string2\\\". 3.批量替换文件内容 该目录及子目录下所有文件,将文件中所有的字符

    2024年02月16日
    浏览(34)
  • MultipartFile获取文件名,文件大小,文件后缀等方法

    获取文件名及后缀信息: 获取文件名: 获取文件后缀:这个后缀带‘.’如:.zip,如果不想带‘.’这样即可lastIndexOf(\\\".\\\")+1 获取文件类型: 获取文件大小:

    2024年02月16日
    浏览(44)
  • Linux批量快速修改文件名的三种方法

    在Linux中, 批量重命名文件 是一项常见且有用的操作。以下是三种常用的批量重命名文件的方法,每种方法都附有示例。这些方法既可以适用于新手,也适用于更有经验的用户。 话不多说,直接上干货! rename 命令 rename命令是一种强大的批量重命名工具,它支持使用正则表

    2024年04月11日
    浏览(43)
  • java获取文件名后缀方法

      Java是一种应用广泛的编程语言,可以通过多种方式来实现对文件的操作。如文件名后缀、文件扩展名等。今天我们来看下 Java是如何获取文件名后缀的吧! 1.打开一个空文件,将其复制到一个新的文件夹中。 2.新建一个类,在里面定义方法,名称为 dirs. csvf 3.在 dirs. csvf类中

    2024年02月15日
    浏览(34)
  • js获取文件名或文件后缀名(扩展名)的几种方法

    有时候我们需要通过含有文件名和后缀名的一个字符串中提取出该文件的文件名或文件后缀名(扩展名),可以通过如下几种方式进行截取。 例如文件名为: var fileName=\\\"12345.txt\\\"; 用法参考博文 【js截取字符串subString()方法】 js截取字符串subString()方法_js 如何使用substring()截取字

    2024年04月16日
    浏览(37)
  • 批量修改文件名-txt_word_ppt批量修改文件名

    word/excel/ppt等等批量修改文件名 批量修改文件名的方法有N多种,我的这种是比较简单的,小白也可以使用 使用windows自带的批处理脚本进行批量重命名 什么类型的文件批量修改原理都一样,这里以txt修改为例 通过py脚本快速创建文件测试,这步是创建100个txt文件,这步不重要,因为我

    2024年01月16日
    浏览(57)
  • vue项目中,动态src引入图片,并且js根据文件名后缀,判断文件图片、视频、文档、pdf等类型的方法

    vue根据文件地址,获取后缀,根据后缀判断类型,然后根据类型动态展示不同类型的照片 1、处理后缀,根据后缀判断类型   2、根据返回的结果,直接将文件名命名为返回的结果,比如我有个图片类型的文件,经过上述的方法,返回的是image,那我直接要显示的图片名称就为

    2024年02月06日
    浏览(32)
  • 如何批量修改文件名

    此文章仅记录博主遇到的问题想到的解决方案,并不代表最优解。         在工作中遇到要 批量 修改文件名,并且文件名具有 一定命名格式 ,如:要将abc_name_20230223.txt 修改为 name.txt , name的长度一致 。这种情况下需要将文件名批量提取,裁剪再重命名。如何操作更加方便

    2024年02月08日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包