Linux怎么查找指定后缀名文件以及批量修改后缀名
程序员文章站
2022-04-17 21:36:06
...
今天做了一道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命令更名文件。
希望能对大家有点帮助~
上一篇: POJ 3764 The Xor-longest Path 题解
下一篇: 爆冷雷事,让人无言以对.