zoukankan      html  css  js  c++  java
  • rename 批量修改文件名简单用法

      有的时候我们需要批量创建文件做测试,为了做区分,一般只要稍稍动动文件名即可,MV命令既可以移动文件,也是可以修改文件名的,但批量修改文件名MV做不到,此时,我们可以用rename命令批量修改是蛮不错的方法,当然也有其他方法的,具体如下:

    语法:

    rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]  

    白话文:rename  参数 需要替换的字符串  含有的原字符替换成目标字符串  指定要改变文件名的文件列表或脚本

    常用参数介绍:

    -v  显示修改成功的文件名

    -n  不执行任何操作,用来测试rename过程,不直接运行,可以查看测试效果后,然后再运行

    -f   强制修改已经存在的文件

      Linux的rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,早期的Linux发行版基本上使用的是C语言版本的,现在已经很难见到C语言版本的了,因为Perl版本的支持正则处理,所以功能更加强大,基本上现在linux下默认的rename命令都是Perl版的。

    例如:将一下bqh目录下的所有文件名带有"_finished"的去掉。

    方法1:用rename命令

    rename "_finished" "" *.jpg

    方法二:用sed命令

     f=stu_1218_1_finished.jpg

    echo $f|sed 's#_finished##g'

    mv $f `echo $f|sed 's#_finished##g'`

    也可以写个脚本:

    #!/bin/sh
    for f in `ls *finish*.jpg`
    do
     mv $f `echo $f|sed 's#_finished##g'`
    done

     也可以用此命令批量替换:

    ls|sed -r 's#(^.*)_finished.*$#mv & 1.jpg#'|bash

    方法三:用awk命令

    ls *.jpg|awk -F "_finished" '{print "mv " $0,$1$2}'|bash

    通过以上方法来说,还是rename命令相对简单,可以根据场景需求而选。

  • 相关阅读:
    细心也是一种态度
    EDM数据访问的三种方式
    如何快速提交网站备案 ICP备案
    c# winform 关于给静态全局变量赋值的问题
    c#DIY随机数类winform 2010
    手把手教你如何用IIS搭建手机WAP网站(图文)
    admin密码对应的MD5值,16位和32位,admin解密自己留着方便.
    C#实现MD5加密,winform c#2005
    最全的c#日期函数 winform
    如何解决因网站备案号没下来而网站被迫关闭的办法
  • 原文地址:https://www.cnblogs.com/su-root/p/10159582.html
Copyright © 2011-2022 走看看