温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用AWK实现两个文件对比

发布时间:2021-11-23 09:51:17 来源:亿速云 阅读:554 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“如何使用AWK实现两个文件对比”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用AWK实现两个文件对比”这篇文章吧。

两个文件, test11.txt 与test22.txt匹配 ,打印出匹配成功test22.txt 的内容

root@ubuntu:/tmp# cat test11.txt 
aa
bb
cc
2
d
a
xd
rr
aa
ff
root@ubuntu:/tmp# cat test22.txt 
aa  12132
efea  90
ifd a
bb  44
cc  123
2  432
d  432
a  fda
xd  32
rr   fe
aa   r32
ff  22
fdsail 00
hell 001

awk处理:

root@ubuntu:/tmp# awk  'NR==FNR{a[$1]=1}NR>FNR{if($1 in a)print $0}'  test11.txt  test22.txt  > result.txt        
root@ubuntu:/tmp# cat result.txt 
aa  12132
bb  44
cc  123
2  432
d  432
a  fda
xd  32
rr   fe
aa   r32
ff  22

注释:NR 当前文件的行、 FNR 读取的记录数。。读取第一个文件时NR=FNR

当读取第二个文件时,FNR在第一个文件的基础上继续计数。NR归零重新记录。

NR==FNR时,处理第一个文件

NR > FNR时,处理第二个文件

统计日志中每分钟的日志条数:

cat  access.log |awk -F ":" '{++S[$3]} END {for(i in S) print i"\t"S[i] }' | sort -k1g

$3 位日志记录中时间 的分钟。

-k1g     g参数与n相似,,按数字排序

以上是“如何使用AWK实现两个文件对比”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

awk
AI