首页 > 编程知识 正文

linux截取文件名字符串,批量修改文件名代码

时间:2023-05-03 08:15:59 阅读:108498 作者:1556

1 .使用1.rename命令批量修改文件名。 实际上,在linux中可以用其他方法批量修改文件名,但rename非常方便

例如,将所有表从cdb1_*修改为cdb_*

在此目录下

# rename 'cdb1' 'cdb' *

我以前是写for循环做的。 想想看。 多么愚蠢啊。 啊啊

rename有更多的功能,所以推荐在man rename下

from :3358 www.Hao 32.com/UNIX-Linux/42.html

2 .批量重命名rename

通过man rename命令,可以看到rename命令实际上是Perl脚本命令

这用于批量重命名多个文件。

命令格式:

rename [-v ] [-n ] [-f ] perl expr [ files ]

Perlexpr是perl脚本格式的正则表达式。

参数:

-v,--verbose

verbose : printnamesoffilessuccessfullyrenamed。

详细模式:打印成功修改的文件名列表

-n,--no-act

无操作: showwhatfileswouldhavebeenrenamed。

测试模式:并不实际执行命令,而是只是表示应该如何执行哪个文件名

更改,用于测试模式。

-f,--force

force : overwriteexistingfiles。

强制模式:变更文件名,如果变更后的文件已经存在,则重写已经存在

请参阅。

rename 的典型应用:

http://www.Sina.com/http://www.Sina.com /

$ ls

1.txt 2.txt 3.txt 4.txt

$ rename 's//.txt//.ext/' *

$ ls

1.ext 2.ext 3.ext 4.ext

0.

$ ls

1.txt 2.txt 3.txt 4.txt

$ rename 's//.txt//' *

$ ls

1 2 3 4

批量更改文件扩展名

$ ls

1 2 3 4

$ rename 's/$//.txt/' *

$ ls

1.txt 2.txt 3.txt 4.txt

1. 批量删除文件扩展名

$ ls

1.ext 2.ext 3.ext 4.ext

$rename's/(/d ) /第$1章/) *

$ ls

第一章. ext第二章. ext第三章. ext第四章. ext

3.

方法1 )对文件名进行拆分处理,文件名find-name ' *.log '-printf % f//n|awk-f '.' { print $1} '|xargs-I { } mv.LV 重命名测试“xiyun”“*.log”可以替换文件名字符串的一部分,因为ubuntu的重命名命令支持正则表达式。 方法直接利用find、xargs和mv,中途不用awk。 这样只能添加扩展名,不能更改文件名。

from :3358 blog.chinaunix.net/u/22583/showart _ 1964649.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。