位置: IT常识 - 正文

详解Linux系统中rename命令的使用方法(linux的rz)

编辑:rootadmin
推荐整理分享详解Linux系统中rename命令的使用方法(linux的rz),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux r,linux /r/n,linux r,linux -r -r,linux -rn,linuxrc,linux r,linux r,内容如对您有帮助,希望把文章链接给更多的朋友!

Dos/Windows下,对文件改名用rename。而书上说,Linux下对文件或目录改名该用mv。我一直也是这样做的,却忽略了Linux下也有个叫rename的命令。都是rename,但功能上就有点差异了。Linux下的rename更像批量改名的工具,是util-linux套件中提供的。

从mv和rename命令的man文档中,可以看到如下信息:

代码如下:mv-move (rename) filesrename-Rename files

也就是说,mv也能用于改名,但不能实现批量处理(改名时,不支持*等符号的),而rename可以。rename使用的格式:

代码如下:$ rename foo foo0 foo?

rename需要提供三个参数,然后才能决定最终结果。模拟一下man文档的例子,原文件:

代码如下:$ for i in `seq 100`;do touch foo$i;done$ ls

foo1 foo18 foo27 foo36 foo45 foo54 foo63 foo72 foo81 foo90foo10 foo19 foo28 foo37 foo46 foo55 foo64 foo73 foo82 foo91foo100 foo2 foo29 foo38 foo47 foo56 foo65 foo74 foo83 foo92foo11 foo20 foo3 foo39 foo48 foo57 foo66 foo75 foo84 foo93foo12 foo21 foo30 foo4 foo49 foo58 foo67 foo76 foo85 foo94foo13 foo22 foo31 foo40 foo5 foo59 foo68 foo77 foo86 foo95foo14 foo23 foo32 foo41 foo50 foo6 foo69 foo78 foo87 foo96foo15 foo24 foo33 foo42 foo51 foo60 foo7 foo79 foo88 foo97foo16 foo25 foo34 foo43 foo52 foo61 foo70 foo8 foo89 foo98foo17 foo26 foo35 foo44 foo53 foo62 foo71 foo80 foo9 foo99

改名结果:(红色是没有改动的,蓝色是有改动的一部分)引用

代码如下:$ rename foo foo0 foo?$ ls详解Linux系统中rename命令的使用方法(linux的rz)

foo01 foo100 foo20 foo30 foo40 foo50 foo60 foo70 foo80 foo90foo02 foo11 foo21 foo31 foo41 foo51 foo61 foo71 foo81 foo91foo03 foo12 foo22 foo32 foo42 foo52 foo62 foo72 foo82 foo92foo04 foo13 foo23 foo33 foo43 foo53 foo63 foo73 foo83 foo93foo05 foo14 foo24 foo34 foo44 foo54 foo64 foo74 foo84 foo94foo06 foo15 foo25 foo35 foo45 foo55 foo65 foo75 foo85 foo95foo07 foo16 foo26 foo36 foo46 foo56 foo66 foo76 foo86 foo96foo08 foo17 foo27 foo37 foo47 foo57 foo67 foo77 foo87 foo97foo09 foo18 foo28 foo38 foo48 foo58 foo68 foo78 foo88 foo98foo10 foo19 foo29 foo39 foo49 foo59 foo69 foo79 foo89 foo99

代码如下:$ rename foo foo0 foo??$ ls

foo001 foo011 foo021 foo031 foo041 foo051 foo061 foo071 foo081 foo091foo002 foo012 foo022 foo032 foo042 foo052 foo062 foo072 foo082 foo092foo003 foo013 foo023 foo033 foo043 foo053 foo063 foo073 foo083 foo093foo004 foo014 foo024 foo034 foo044 foo054 foo064 foo074 foo084 foo094foo005 foo015 foo025 foo035 foo045 foo055 foo065 foo075 foo085 foo095foo006 foo016 foo026 foo036 foo046 foo056 foo066 foo076 foo086 foo096foo007 foo017 foo027 foo037 foo047 foo057 foo067 foo077 foo087 foo097foo008 foo018 foo028 foo038 foo048 foo058 foo068 foo078 foo088 foo098foo009 foo019 foo029 foo039 foo049 foo059 foo069 foo079 foo089 foo099foo010 foo020 foo030 foo040 foo050 foo060 foo070 foo080 foo090 foo100

该例子给出了两种文件批量重命名的用法:引用第一个参数:被替换掉的字符串第二个参数:替换成的字符串第三个参数:匹配要替换的文件模式

rename支持通配符,基本的通配符有以下几个:引用? 可替代单个字符* 可替代多个字符[charset] 可替代charset集中的任意单个字符

看看*的作用:引用$ rm -f *$ for i in `seq 100`;do touch foo$i;done$ rename foo foo0 foo*$ lsfoo01 foo018 foo027 foo036 foo045 foo054 foo063 foo072 foo081 foo090foo010 foo019 foo028 foo037 foo046 foo055 foo064 foo073 foo082 foo091foo0100 foo02 foo029 foo038 foo047 foo056 foo065 foo074 foo083 foo092foo011 foo020 foo03 foo039 foo048 foo057 foo066 foo075 foo084 foo093foo012 foo021 foo030 foo04 foo049 foo058 foo067 foo076 foo085 foo094foo013 foo022 foo031 foo040 foo05 foo059 foo068 foo077 foo086 foo095foo014 foo023 foo032 foo041 foo050 foo06 foo069 foo078 foo087 foo096foo015 foo024 foo033 foo042 foo051 foo060 foo07 foo079 foo088 foo097foo016 foo025 foo034 foo043 foo052 foo061 foo070 foo08 foo089 foo098foo017 foo026 foo035 foo044 foo053 foo062 foo071 foo080 foo09 foo099

再看看[charset]的作用:引用

代码如下:$ rm -f *$ for i in `seq 100`;do touch foo$i;done$ rename foo foo0 foo[9]*$ ls

foo09 foo099 foo17 foo26 foo35 foo44 foo53 foo62 foo71 foo80foo090 foo1 foo18 foo27 foo36 foo45 foo54 foo63 foo72 foo81foo091 foo10 foo19 foo28 foo37 foo46 foo55 foo64 foo73 foo82foo092 foo100 foo2 foo29 foo38 foo47 foo56 foo65 foo74 foo83foo093 foo11 foo20 foo3 foo39 foo48 foo57 foo66 foo75 foo84foo094 foo12 foo21 foo30 foo4 foo49 foo58 foo67 foo76 foo85foo095 foo13 foo22 foo31 foo40 foo5 foo59 foo68 foo77 foo86foo096 foo14 foo23 foo32 foo41 foo50 foo6 foo69 foo78 foo87foo097 foo15 foo24 foo33 foo42 foo51 foo60 foo7 foo79 foo88foo098 foo16 foo25 foo34 foo43 foo52 foo61 foo70 foo8 foo89

Linux的rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,判断方法:输入man rename 看到第一行是RENAME(1) Linux Programmer’s Manual RENAME(1)这个就是C语言版本的 ---我的就是C语言版本而如果出现的是RENAME(1) Perl Programmers Reference Guide RENAME(1)这个就是Perl版本的了

C语言版本格式:rename 原字符串 新字符串 文件名样例1:目录test下存在两个文件:a_01、a_02,若需要将文件名中的a替换为b,其他部分保持不变,则(1) 若当前位于test目录下,则执行 rename a b *(2) 若当前位于test的父目录,则执行 rename a b test/*

Perl语言版本格式:rename 's/原字符串/新字符串/' 文件名样例2:题目如样例1,则(1) 若当前位于test目录下,则执行 rename 's/a/b/' *(2) 若当前位于test的父目录,则执行 rename 's/a/b' test/*脚本实现方法:

代码如下:find -name "a*" -print | while read name do echo $name rename 's/a/b/' $name done
本文链接地址:https://www.jiuchutong.com/zhishi/267397.html 转载请保留说明!

上一篇:Mac怎么设置默认文本打开方式(mac怎么还原出厂设置)

下一篇:BIOS 中英文对照表 BIOS设置参考(bios中英文对照表图新版)

  • 微信运营如何快速增加自己的粉丝呢(微信运营难不难)

    微信运营如何快速增加自己的粉丝呢(微信运营难不难)

  • 红魔6spro是屏下指纹吗(红魔6p的屏幕)

    红魔6spro是屏下指纹吗(红魔6p的屏幕)

  • 快手怎么无水印保存视频(快手怎么无水印保存别人的照片)

    快手怎么无水印保存视频(快手怎么无水印保存别人的照片)

  • 微信视频号买的东西在哪里看订单(微信视频号买的订单在哪看)

    微信视频号买的东西在哪里看订单(微信视频号买的订单在哪看)

  • 小米智能手表能发微信吗(小米智能手表能和其他手机配吗?)

    小米智能手表能发微信吗(小米智能手表能和其他手机配吗?)

  • 华为30s微信视频怎么美颜(华为30s微信视频聊天怎么开美颜功能)

    华为30s微信视频怎么美颜(华为30s微信视频聊天怎么开美颜功能)

  • 6s充电很慢不显示雷电符号(iphone6sp充电很慢)

    6s充电很慢不显示雷电符号(iphone6sp充电很慢)

  • 华为芯片是哪国的(华为芯片是哪个公司)

    华为芯片是哪国的(华为芯片是哪个公司)

  • 104电容的作用(电容起什么作用)

    104电容的作用(电容起什么作用)

  • 多媒体硬件有哪些(多媒体硬件有哪些设备)

    多媒体硬件有哪些(多媒体硬件有哪些设备)

  • 小米10的屏幕是三星的么(小米10的屏幕是三星的吗)

    小米10的屏幕是三星的么(小米10的屏幕是三星的吗)

  • 不上qq怎样保持达人(如何不登录qq)

    不上qq怎样保持达人(如何不登录qq)

  • 蜂窝网络错误怎么回事(蜂窝网络错误怎么回事 iphone7)

    蜂窝网络错误怎么回事(蜂窝网络错误怎么回事 iphone7)

  • 酷我音乐和酷狗音乐区别(酷我音乐和酷狗音乐哪个好一点)

    酷我音乐和酷狗音乐区别(酷我音乐和酷狗音乐哪个好一点)

  • 苹果11电信信号不好(苹果11电信信号满格为啥是1x拨打电话自动挂断)

    苹果11电信信号不好(苹果11电信信号满格为啥是1x拨打电话自动挂断)

  • 手机里面有电话卡,为什么显示不出来?(手机里面有电话卡为什么突然显示没有)

    手机里面有电话卡,为什么显示不出来?(手机里面有电话卡为什么突然显示没有)

  • 抖音怎么拍59秒(抖音里怎么才能拍出超过60秒的视频)

    抖音怎么拍59秒(抖音里怎么才能拍出超过60秒的视频)

  • word怎么加底纹(word怎么加底纹样式)

    word怎么加底纹(word怎么加底纹样式)

  • 喵喵机怎么打印照片(喵喵机怎么打印纯文字)

    喵喵机怎么打印照片(喵喵机怎么打印纯文字)

  • 手机qq上的邮箱在哪(如何在手机上申请邮箱地址)

    手机qq上的邮箱在哪(如何在手机上申请邮箱地址)

  • vivox21怎么换微信铃声(vivo手机微信怎么换主题皮肤)

    vivox21怎么换微信铃声(vivo手机微信怎么换主题皮肤)

  • 小米手环3有水雾怎么办(小米手环3有水雾怎么解决)

    小米手环3有水雾怎么办(小米手环3有水雾怎么解决)

  • 拼多多怎么看取货码(拼多多怎么看取件码2022)

    拼多多怎么看取货码(拼多多怎么看取件码2022)

  • 微信评论区怎么显示全文(微信评论区怎么发表情包图片)

    微信评论区怎么显示全文(微信评论区怎么发表情包图片)

  • 苹果手机遮住听筒就黑屏怎么取消(苹果手机遮住听筒怎么弄)

    苹果手机遮住听筒就黑屏怎么取消(苹果手机遮住听筒怎么弄)

  • 华为nova10pro支持5G吗(华为nova10pro支持多少倍变焦)

    华为nova10pro支持5G吗(华为nova10pro支持多少倍变焦)

  • 个人所得税财产租赁所得税率表
  • 小规模纳税人企业所得税计算
  • 高企入库补贴要交企业所得税吗
  • 印花税每个证券不一样吗?
  • 报销必须是公司吗
  • 收到房屋租金税率
  • 生产企业出口转内销增值税申报
  • 电子发票冲红处理
  • 以现金形式收到包装物押金
  • 公司报销生育津贴,孕期还需要去社保局备案吗
  • 向投资者借款做在什么科目
  • 逾期认证未抵扣的文件
  • 劳动合同解除和终止的经济补偿
  • 电信报表系统
  • 面条适用的增值税率是
  • 2017房地产行业流动比率均值
  • 公司注销要给钱吗
  • 进口商品的关税计入入账价值吗
  • 企业合并怎么处理
  • 党费返还款怎么做分录
  • 新版edge浏览器兼容性视图怎么设置
  • 企业所得税汇算表
  • win7系统为什么没有无线网络连接
  • php遍历显示多维数组
  • 中央公园纽约的历史背景
  • 通往萨卡洛布拉的火车
  • Laravel5.5新特性之友好报错以及展示详解
  • 德国楚格峰一日游攻略
  • 项目的分包行为是否合理
  • thinkphp配置文件
  • 其他综合收益科目有哪些
  • 企业会计核算应当以权责发生制为基础
  • 公司账户转法人账户
  • .net core中间件原理
  • apr命令怎么用
  • wordpress安装包
  • 《visual c++游戏编程基础》
  • 工资的会计账务处理
  • 权益法下股权投资转让
  • 如何修改php
  • 织梦怎么建站
  • SQL Server 2008 数据库有哪些版本?
  • 数据库维护工作主要包括哪些内容
  • 非营利组织增值税怎么处理
  • 开办费计入什么科盿
  • 银行转存款怎么办
  • 初始数据都录入什么意思
  • 委托代销商品支付的手续费计入销售费用吗
  • 审计库存现金盘点表
  • 收到实收资本的现金流
  • 公司对员工罚款怎么处理
  • 更正会计凭证摘要怎么写?
  • 商贸公司库存商品进销存报表怎么做
  • 在建工程转长期待摊费用是什么意思
  • 开公司如何选择行业
  • 会议接待纸笔摆放
  • 什么叫建账
  • 如何正确设置会员账号
  • 跨国企业在国外设立工厂的战略地位
  • mysql8.0 主从
  • sql语句大全实例教程.pdf
  • linux日常使用
  • bd是什么文件
  • window扫雷游戏在哪里
  • 任务管理器打不开怎么强制关闭电脑程序
  • win10edge浏览器怎么设置兼容模式
  • 在linux系统中,用来存在系统所需
  • shell备份文件脚本
  • javascript脚本怎么用
  • JavaScript基础语法
  • Linuxshell脚本实现自动化软件部署内容
  • javascript要怎么学
  • 安卓app性能测试
  • javascript编程工具
  • 音频资料下载
  • 光伏发电要交税不
  • 微信群记账小程序
  • 广东省税务局电子发票怎么下载
  • 增值税纳税申报表怎么填
  • 山西税务官网登录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设