欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux怎么查找指定后缀名文件以及批量修改后缀名

程序员文章站 2022-04-17 21:36:06
...

今天做了一道Linux的题目,题目如下:

Linux怎么查找指定后缀名文件以及批量修改后缀名
其中查找并不难实现,使用find语句:find /var/log -name “*.log” 就可以实现,shell脚本如下:

#!/bin/bash

find /var/log -name "*.log" | while read i
do 
echo $i  #显示文件名称
done

到这里.log文件已经找到了,但是要将他替换成.config文件就有麻烦了,因为获取到的i是包含后缀名的,不管用rename还是mv都不能直接修改。所以这个时候需要先将获取到的文件名后缀名删除。这里参考了网上其他人的经验,只要一句代码就能实现,代码如下:

find /var/log -name "*.log" | awk '{new=gensub(".log",".config",1);system("mv "$0" "new)}'


  • 用awk处理,gensub函数将.log后缀替换为.config并返回替换后的字串赋值给变量new,最后借用system调用执行mv命令更名文件。

希望能对大家有点帮助~