有关重命名,sed/rename/basename

Posted luoqi302331

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关重命名,sed/rename/basename相关的知识,希望对你有一定的参考价值。

[[email protected] luoqi]# ls
luoqi01_find.txt luoqi03_find.txt luoqi05_find.txt luoqi07_find.txt luoqi09_find.txt
luoqi02_find.txt luoqi04_find.txt luoqi06_find.txt luoqi08_find.txt luoqi10_find.txt

目标把以上所有文件名的_find去掉,并且.txt结尾改为.jpg结尾

 

方法1,sed

[[email protected] luoqi]# ls *.txt | sed -r ‘s/^(.*)_find.*$/mv & 1.jpg/g‘
mv luoqi01_find.txt luoqi01.jpg
mv luoqi02_find.txt luoqi02.jpg
mv luoqi03_find.txt luoqi03.jpg
mv luoqi04_find.txt luoqi04.jpg
mv luoqi05_find.txt luoqi05.jpg
mv luoqi06_find.txt luoqi06.jpg
mv luoqi07_find.txt luoqi07.jpg
mv luoqi08_find.txt luoqi08.jpg
mv luoqi09_find.txt luoqi09.jpg
mv luoqi10_find.txt luoqi10.jpg

最后加一个 | bash

ls *.txt | sed -r ‘s/^(.*)_find.*$/mv & 1.jpg/g‘ | bash

此方式的中心思想,把命令列出来

 

方法2,rename

rename "_find.txt" ".jpg" *

rename "_find.txt" ".jpg" luoqi01*  //后面是通配符,可以过滤修改文件名的文件

 

basename

 

 

basename /root/luoqi/luoqi01.jpg
luoqi01.jpg  //结果只保留了最后的文件名,前面的路径都干掉了,用于特定脚本

basename /root/luoqi/luoqi01.jpg .jpg
luoqi01     //.jpg也干掉了,另一个用法

 

dirname

dirname /root/luoqi/luoqi01.jpg

/root/luoqi    //作用是只保留目录

 















以上是关于有关重命名,sed/rename/basename的主要内容,如果未能解决你的问题,请参考以下文章

做好织梦dedecms安全防护全部方法

如何编写迁移以使用 ManyToManyField 更改模型的主键

css的文章部分的基本语句

ASP.NET MVC中的错误处理

如何执行从 index.htm 到 root 的简单 301 重定向?

[Linux 004]——用户和用户组以及 Linux 权限管理