• 【Linux】文件批量重命名


    例如:我们现在有如下文件列表

    image

    我们现在想要把.log、.LOG与.rar为扩展名的文件全部重新命名,具体脚本如下:

    #!/bin/sh
    ##----------------------------------------------------------
    ##--功能说明:重命名.log与.rar文件
    ##--开发公司:XXX
    ##--作者:qys
    ##--时间:2019-01-02
    ##--输入参数:无
    ##--版本维护
    ##      版本:      更新日期:        更改人:        更改说明:
    ##      --------------------------------------------------------
    ##      v1.0        2019-01-02          qys         创建shell脚本
    ##--------------------------------------------------------------
    count=1
    for ListLogFile in `find . -iname '*.log' -o -iname '*.rar' -type f`
    do
    	new=Tmp_$count.${ListLogFile##*.}
    	echo "重命名${ListLogFile}为${new}"
    	mv "$ListLogFile" "$new"
    	let count++
    done

    执行结果:

    image

    工作原理:

    使用for循环迭代所有扩展名为.log、.rar文件,然后使用-iname选项不区分大小写进行匹配,-o表示或者的关系,此处为多个匹配条件,接着使用${ListLogFile##*.}提取扩展名,并且构造新的文件名,最后使用mv命令重命名。



  • 相关阅读:
    致敬我的2015
    葡萄城报表-导出输出
    葡萄城报表-内网发布
    葡萄城报表-核心代码展示
    点滴积累--工作总结
    解决WPF中ListViewItem对齐问题
    IIS上传文件失败
    HTTP 错误 404.4
    端口及IP复习
    请考虑将 "await" 运算符应用于调用结果
  • 原文地址:https://www.cnblogs.com/OliverQin/p/10249000.html
Copyright © 2020-2023  润新知