Linux中用rename命令批量替换文件名方法实例
前言
在Linux系统中修改文件名可以用mv命令,但是它只能对单个文件进行操作,如要要批量执行还要写shell脚本,用for语句迭代执行,不过Linux中另外一个命令支持批量替换文件名,它是rename,rename支持正则表达式匹配。
需要注意的是:rename命令在不同的Linux发行版语法格式不一样。
语法
在Debian或者Ubuntu环境下使用的语法是:
rename 's/stringx/stringy/' files
而在CentOS下或者RedHat下是:
rename stringx stringy files
rename的参数分为三部分:
- stringx : 被替换字符串
- stringy :替换字符串
- files :匹配的文件列表
例如
例如有如下文件,想把所有文件中的@符号去掉,
uodong_pic@2x.png eixin_pic@2x.png inkehu_pic@2x.png anting_pic-@2x.png huanfa_pic@2x.png
CentOS这么写:
rename \@2x.png 2x.png *.png
Ubuntu这么写:
rename 's/\@2x/2x/' *.png
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
Linux文件的归档和压缩命令
1.文件归档命令tar 归档的好处: 方便使用.查询.阅读 易于管理 (批量删除文件) 为什么要压缩 如果直接传输会大量的占用流量带宽.导致公司的内网访问速度缓慢. 传输前压缩–传输后解压 文件压缩的好处 节约硬盘的资源. 加快文件传输的速率 用到的命令:tar 作用:打包.压缩文件:tar 文件是把几个文件和(或)目录集合在一个文件夹里.是创建备份和归档的最佳工具 [root@xuegod72 ~]# tar –help [root@xuegod72 ~]# tar -cf arc
-
Linux 按时间批量删除文件命令(删除N天前文件)
需要根据时间删除这个目录下的文件,/home/lifeccp/dicom/studies,清理掉20天之前的无效数据. 可以使用下面一条命令去完成: find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -exec rm -Rf {} \; 这个是根据时间删除. 下面简要解释一下,这句shell命令: find /home/lifeccp/dicom/studies -mtime +21 -name "*.*"
-
详解Linux文本文件与WIN文本文件换行格式转换命令
详解Linux文本文件与WIN文本文件换行格式转换命令 前言: 有 时在WIN下编辑好的脚本文件上传到LINUX服务器中不能正常执行,开始误认为是LINUX配置问题,后来发现,是WIN与LINUX存储文件时的换行 符标志不同造成的.在DOS使用的换行符为 ^M$,我们称为CR与LF两个符号.而在Linux中,则仅有LF ($) 这个换行符. 可以用如下命令完成格式转换:$dos2unix,$unix2dos.但这两个命令在UBUNTU发行版本中不存在,可通过: $sudo apt-get ins
-
Linux shell ftp命令根据文件日期下载文件的方法
需求:ftp获取远程数据的文件,根据文件的创建时间点下载文件. 可以自行扩展根据文件的大小等其他需求. 知识点总结: 1.获取文件的时间: ls -lrt|awk '{print $6" "$7" "$8}' 时间内容: Sep 8 16:03 2.时间格式转换 date -d "Sep 8 16:03" +%Y%m%d%H%M 转换结果: 201709081603 3.指定文件名,正则匹配 pattern="${month}.*.d
-
Linux文件处理常用命令操作技巧
我是Linux初学者,做个笔记,以下是Linux几个常用文件处理命令: 命令提示符 [root@localhost~]# 其中: root 表示当前登录用户 localhost 表示主机名 ~ 表示当前所在目录(家目录) # 表示超级用户名的提示符 普通用户的提示符是$ 查询目中内容:ls ls [选项] [文件或目录] 选项有: -a 显示所有文件,包括隐藏文件 -l 显示详细信息 -d 查看目录属性 -h 人性化显示文件大小 -i 显示i
-
Linux下文件的切分与合并的简单方法介绍
linux下文件分割可以通过split命令来实现,可以将一个大文件拆分成指定大小的多个文件,并且拆分速度非常的快,可以指定按行数分割和安大小分割两种模式.Linux下文件合并可以通过cat命令来实现,非常简单. 在Linux下用split进行文件分割 先看下帮助文档 Usage: split [OPTION]... [INPUT [PREFIX]] Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size
-
Linux中用rename命令批量替换文件名方法实例
前言 在Linux系统中修改文件名可以用mv命令,但是它只能对单个文件进行操作,如要要批量执行还要写shell脚本,用for语句迭代执行,不过Linux中另外一个命令支持批量替换文件名,它是rename,rename支持正则表达式匹配. 需要注意的是:rename命令在不同的Linux发行版语法格式不一样. 语法 在Debian或者Ubuntu环境下使用的语法是: rename 's/stringx/stringy/' files 而在CentOS下或者RedHat下是: rename stri
-
python批量替换文件名中的共同字符实例
今天看新概念视频的时候播放器PotPlayer的播放列表总是不能正确排序,我看到这些视频的名字格式如下: Lesson 1-2 单词解读.mp4 我认为是数字前面的Lesson和空格干扰了播放器的排序,就考虑把这个文件夹下所有的文件名批量删除Lesson和空格,使之变成: 1-2 单词解读.mp4 这里主要使用的就是os模块下的listdir,chadir和rename三个方法 虽然最后还是排序不正确,我只能怪播放器不好了. 代码如下 # -*- coding: UTF-8 -*- import
-
在Python中调用Ping命令,批量IP的方法
如下所示: #!/usr/bin/env python #coding:UTF-8 ''''''' Author: jefferchen@163.com 可在命令行直接带目的IP,也可将IP列表在文本文件中. pingip.py -d DestIP DestIP示例: a)单个: 192.168.11.1 b)多个: 192.168.11.1;172.16.8.1;176.13.18.2 c)网段: 192.168.11.1-127 文本文件:ip.txt 目的IP多行存储 ''''''' im
-
python文件读写操作与linux shell变量命令交互执行的方法
本文实例讲述了python文件读写操作与linux shell变量命令交互执行的方法.分享给大家供大家参考.具体如下: python对文件的读写还是挺方便的,与linux shell的交互变量需要转换一下才能用,这比较头疼. 代码如下: 复制代码 代码如下: #coding=utf-8 #!/usr/bin/python import os import time #python执行linux命令 os.system(':>./aa.py') #人机交互输入 S = raw_input("
-
Linux 查看历史命令并执行的方法
查看历史命令,并执行指定命令 owen@owen:~/owen/software/nginx-1.10.1$ history | grep 'configure' 1083 ./configure 1109 ./configure --prefix=/usr/nginx 1110 ./configure --prefix=/usr/nginx 2058 ./configure --prefix=/usr/local/nginx --with-openssl=/home/owen/owen/sof
-
python 对txt中每行内容进行批量替换的方法
如下所示: f = open('./val.txt') lines = f.readlines() #整行读取 f.close() for line in lines: rs = line.rstrip('\n') #去除原来每行后面的换行符,但有可能是\r或\r\n newname=rs.replace(rs,'/JPEGImages/'+rs+'.jpg'+' '+'/SegmentationClassAug/'+rs+'.png') newfile=open('.val1.txt','a'
-
如何在Linux操作系统下安装Apache服务的方法实例详解
链接下载: 操作环境 VMware虚拟机中CentOS 7.6 SecureCRT Xftp(Xmanager) 需求分析 使用Apache服务实现访问http 操作步骤 1.挂载光盘 [root@localhost ~]# mount /dev/cdrom /mnt 查看是否挂载 [root@localhost ~]# df -Th 2.从源码包编译安装程序 (编译安装) [root@localhost Packages]# yum -y install gcc gcc-c++ make 3.
-
详解Shell 命令行批量处理图片文件名的实例
Shell 命令行批量处理图片文件名 前言: 从网上下载了一堆图片,有的是*.jpg的,有的是*.jpeg的.并且文件名有长有短,很是糟心.因此,我想把这些文件给全部整理好,当然是用shell来处理啦! 说干就干. 循环所有文件 首先,我把所有的乱七八糟的图片,全部放在 ./image/ 这个文件夹下面. 然后在外层写一个i.sh的shell文件,录入下面的内容. 我的文件结构演示如下: 文件 image/xxx.jpg image/xxx.jpeg i.sh for f in $(find .
-
linux下wget命令的基本使用方法
目录 前言 1.使用wget下载单个文件 2.使用wget -O下载并以不同的文件名保存 3.使用wget –limit -rate限速下载 4.使用wget -c断点续传 5.使用wget -b后台下载 6.伪装代理名称下载 7.使用wget –spider测试下载链接 8.使用wget –tries增加重试次数 9.使用wget -i下载多个文件 10.使用wget –mirror镜像网站 11.使用wget –reject过滤指定格式下载 12.使用wget -o把下载信息存入日志文件 1
-
Linux 下rename 命令的用法第1/2页
首先来说一下mv命令,在man mv中我们可以看到对于mv命令的介绍是这样的: mv -move(rename) files 可以看到mv命令确实有重命名的功能,但是实际应用中,它只能对单个文件重命名,命令如下: mv [path/]oldfilename [path/]newfilename "mv命令只能对单个文件重命名",这实就是mv命令和rename命令的在重命名方面的根本区别. 再来说rename命令,在man rename的说明如下: NAME rename -Rename
随机推荐
- 一个用SearchValidAddr搜索基址的例子
- Angular2入门教程之模块和组件详解
- python 从远程服务器下载东西的代码
- iOS中常见正则表达式验证方法
- 简单的php中文转拼音的实现代码
- 深入探究Python中变量的拷贝和作用域问题
- Linux VPS安全设置之一 修改SSH端口(CentOS/Debian)
- javascript与webservice的通信实现代码
- JavaScript使用HTML5的window.postMessage实现跨域通信例子
- javascript 函数参数原来是可以有缺省值的
- php实现把数组按指定的个数分隔
- shell脚本中取消重定向的方法实例
- jQuery中:header选择器用法实例
- 浅析ES6的八进制与二进制整数字面量
- 学习javascript面向对象 理解javascript原型和原型链
- php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
- 基于字符串常用API(详解)
- 详解Struts2标签遍历
- Java设计模式之责任链模式简介
- PHP数组操作汇总 php数组的使用技巧