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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • 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

随机推荐