linux – awk过滤日志文件
发布时间:2020-12-14 00:06:13 所属栏目:Linux 来源:网络整理
导读:我使用以下好的awk命令来过滤重复的行 例: cat LogFile | awk '!seen[$0]++' 问题是,在某些情况下,我们需要过滤重复的行,尽管有些字段不同,但它们并不那么重要 例如 日志文件: [INFO],[02/Jun/2014-19:30:45],EXE,ds1a,INHT VERION,1.4.4.3-08 [INFO],[02/
我使用以下好的awk命令来过滤重复的行
例: cat LogFile | awk '!seen[$0]++' 问题是,在某些情况下,我们需要过滤重复的行,尽管有些字段不同,但它们并不那么重要 例如 日志文件: [INFO],[02/Jun/2014-19:30:45],EXE,ds1a,INHT VERION,1.4.4.3-08 [INFO],[02/Jun/2014-19:31:25],[02/Jun/2014-19:32:40],1.4.4.3-08 请看一下这个文件 – LogFile 我需要从第三个分隔符“,”中删除重复的行,直到该行的结尾, 而且无论在第三个分隔符之前是什么 所以最后我应该得到这个过滤文件:(应该总是得到列表中的第一个) [INFO],1.4.4.3-08 所以请帮我完成我的任务 如何从第三个分隔符“,”过滤LofFile,并忽略字段:[INFO],[………..], 备注 – 植入也可以使用perl one liner line 解决方法
使用GNU awk for gensub():
$awk '!seen[gensub(/([^,]*,){3}/,"","")]++' file [INFO],1.4.4.3-08 任何支持RE间隔的awk(大多数现代awks): $awk '{key=$0; sub(/([^,key)} !seen[key]++' file [INFO],1.4.4.3-08 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- CF1153D Serval and Rooted Tree
- linux – “yum clean”挂起 – 接下来要尝试什么
- linux – VIM:如何将具有子字符串的所有行复制到
- linux – 锁定C 11 std :: unique_lock会导致死锁
- linux – 如何在写入文件之前过滤tshark结果?
- Linux:将所有消息打印到主控制台*和*辅助控制台
- linux – 使用Wget的Shell脚本 – 如果else嵌套
- 为什么Universal Binaries / FatElf不属于Linux内
- virtualbox – 使用vgextend / lvextend添加额外
- Ubuntu上的Java安装问题
热点阅读