rename——不同版本号命令不同

rename  arg1  arg2  arg3

rename才是真正的批量重命名命令。而且他是3个参数,不是2个。

arg1:旧的字符串

arg2:新的字符串

arg3:匹配要重命名的文件,可以使用3种通配符,*、?、[char],*表示任意多个字符,?表示单个字符,[char]匹配char单个自定的精确字符,可以填写任意字符,foo[a]*表示只匹配fooa开头的文件名,如果一个文件是foobcc.txt,是不会被匹配的。

值的注意的是,此命令在不同的linux版本也有不同,Debian一系的操作系统别有用法。举例说明:

比如/home下有两个文件 abbcc.txt, addbb.txt , a.txt

我想把a替换为xxx,命令是这样的 : rename “a” “xxx” *.txt

那么它会首先去匹配有哪些文件需要修改,这里凡是.txt后缀的文件都会被匹配,如果改成?.txt则只会匹配到一个文件,那就是a.txt。然后把匹配到的文件中的a字符替换为xxx,注意测试时abab.txt这样的,只会替换第一个a,有待再了解。

说到Debian一系的操作系统,比如Ubuntu,这个命令这样使用是不对的,报错,向下面这样的:

Bareword “a” not allowed while “strict subs” in use at (eval 1) line 1.

经过Google之后发现有这样的说法:

On Debian-based distros it takes a perl expression and a list of files. you need to would need to use:
rename ‘s/foo/foox/’ *

这里是一个perl表达式,好理解点说就是综合了前两个参数为1个,这样就只需要2个参数,而非上面所说的3个参数形式。

所以在Ubuntu下执行上面举例的重命名时,命令是这样的:rename ‘s/a/xxx/’ *.txt

时间: 2024-08-15 07:22:23

rename——不同版本号命令不同的相关文章

查看linux系统版本号命令

一.查看内核版本号命令: 1) [[email protected]_SYS ~]# cat /proc/version Linux version 2.6.18-238.el5 ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) #1 SMP Sun Dec 19 14:22:44 EST 2010 [[email protected]_SYS ~]# 2)[[email protected]_SYS ~]#

rename重命名命令详解

创建测试文件 [[email protected] mnt]# ls [[email protected] mnt]# for i in {1..7};do touch wsyht$i.txt;done [[email protected] mnt]# ll total 0 -rw-r--r--. 1 root root 0 Jun 18 15:29 wsyht1.txt -rw-r--r--. 1 root root 0 Jun 18 15:29 wsyht2.txt -rw-r--r--.

查看ubuntu版本号命令

1.uname -a 查看内核版本号 2.cat /etc/issue 查看ubuntu版本号 3.sudo lsb_release -a 查看ubuntu版本号 原文地址:https://www.cnblogs.com/skyfall007/p/9857339.html

ubuntu16.04LTS命令行查看版本号

一般查看Linux系统的版本号涉及两个内容,一个是查看linux内核版本号,另一个是查看发行包的版本号.以下拿Ubuntu 16.04 LTS举例说明如何查看系统内核与分发版本号. 查看内核版本号 命令: uname -mrs 结果: Linux 4.4.0-31-generic x86_64 查看分发版本号 命令: cat /etc/os-release 结果: NAME="Ubuntu" VERSION="16.04.1 LTS (Xenial Xerus)"

常见dos命令

常用的内部命令有MD.CD.RD.DIR.PATH.COPY.TYPE.EDIT.REN.DEL.CLS.VER.DATE.TIME.PROMPT.常用的外部命令有DELTREE.FORMAT.DISKCOPY.LABEL.VOL.SYS.XCOPY.FC.ATTRIB.MEM.TREE. 切换到其他盘符D: 1.MD--建立子目录功能:创建新的子目录类型:内部命令ü格式:MD[盘符:][路径名]〈子目录名〉FOR 1:C:\>md y /*---建立y子目录---*/ 2.CD--改变当前目录

常见dos命令总结

常用的内部命令有MD.CD.RD.DIR.PATH.COPY.TYPE.EDIT.REN.DEL.CLS.VER.DATE.TIME.PROMPT. 常用的外部命令有DELTREE.FORMAT.DISKCOPY.LABEL.VOL.SYS.XCOPY.FC.ATTRIB.MEM.TREE. 切换到其他盘符D: 1.MD——建立子目录 功能:创建新的子目录 类型:内部命令ü 格式:MD[盘符:][路径名]〈子目录名〉 FOR 1: C:\>md y /*---建立y子目录---*/ 2.CD——

DOS 常用命令大全

DOS:disk operate system,磁盘操作系统,DOS命令又分内部命令和外部命令.内部命令又称为驻机命令,它是随着DOS系统的启动同时被加载到内存里且长驻内存.也就是说,只要启动了DOS系统,我们就可以使用内部命令.外部命令是储存在磁盘上的可执行文件,执行这些外部命令需要从磁盘将其文件调入内存,因此,外部命令只有该文件存在时才能使用.带有.COM..EXE..BAT等扩展名的文件都可看成是外部命令. 常用的内部命令有MD.CD.RD.DIR.PATH.COPY.TYPE.EDIT.

常见dos命令汇总

常用的内部命令有md.cd.rd.dir.path.copy.type.edit.ren.del.cls.ver.date.time.prompt. 常用的外部命令有deltree.format.diskcopy.label.vol.sys.xcopy.fc.attrib.mem.tree. 切换到其他盘符d: 1.md——建立子目录功能:创建新的子目录类型:内部命令ü格式:md[盘符:][路径名]〈子目录名〉for 1:c:\>md y /*---建立y子目录---*/ 2.cd——改变当前目

计算机基础——常用的Dos命令

d:——切换指定硬盘分区 cd——切换目录,例如:cd D:\下载(使用此命令之前先使用 d: 命令) netstat -ano——查看所有端口号 netstat -a——查看开启了哪些端口 netstat -n——查看端口的网络连接情况 netstat -s——查看正在使用的所有协议使用情况 netstat -v—— 查看正在进行的工作. netstat -aon|findstr "49157"——查看端口号对应的pid tasklist|findstr "2720&quo