欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

linux中如何用rename命令重命名一个文件 目标文件已存在 有大用

linux中如何用rename命令重命名一个文件

是一个文件,不是批量
我把l.sh重命名为m.sh
用命令 rename l m m.sh
提示Bareword "l" not allowed while "strict subs" in use at (eval 1) line 1.
为什么?



用法如下:

$ rename [options] [perlexpr] [files]

PS:

(1)options

-v 表示会显示修改成功的文件名;

-n 则表示不执行任何操作,主要用来测试rename过程,并不直接运行,可以查看测试效果后,然后再运行;只显示将被重命名的文件;

-f 则表示会强制修改。如果文件已存在,覆盖

 -e 表明需要需要被执行的code,如果没有-e,那么第一个参数将被当成code。

(2)perlexpr

这是一个Perl表达式,文件名应当在其中被改变,没学过Perl也没关系,这个命令用到的语法很像sed,容易上手。

(3)files

需要重命名的文件。

扩展资料:

linux中如何用rename命令重命名一个文件示例:

1、去除文件扩展名

$ rename 's/\.bak$//' *.bak

2、去除文件名中的空格

$ rename 's/ //g' *


3、文件名转为小写

$ rename 'y/A-Z/a-z/' *

4、现在有一堆文件,他们的文件名模式是这样的第一部分-haha-第二部分.file ,现在要把中间的-haha- 删去并把第一部分的字符串和第二部分的字符串对调,可以这样:

$ rename 's/(.*)-haha-(.*)(.file)/$2$1$3/' *.file


来自  https://zhidao.baidu.com/question/114213897.html


普通分类: