我有一个日志文件 ( file.log
),其中包含多个 id,即82244956
在一个文件中。
file.log
已使用以下命令创建:
gzip -cd /opt/log.gz | grep "JBOSS1-1" >> ~/file.log
例子 :
2012-04-10 09:01:18,196 LOG (7ysdhsdjfhsdhjkwe:IN) JBOSS1-1 (RP-yedgdh5567) [PayPalWeb] Fetch data with id: 82244956
2012-04-10 09:02:18,196 LOG (24343sdjjkidgyuwe:IN) JBOSS1-1 (RP-yedgdh5567) [PayPalWeb] Fetch data with id: 82244956
2012-04-10 09:03:18,196 LOG (6744443jfhsdgyuwe:IN) JBOSS1-1 (RP-yedgdh5567) [PayPalWeb] Fetch data with id: 82244957
2012-04-10 09:04:18,196 LOG (7ysdhsd5677dgyuwe:IN) JBOSS1-1 (RP-yedgdh5567) [PayPalWeb] Fetch data with id: 82244957
同样,我们有 10000 行具有不同的 id(但每个 id 重复 2-3 次。此示例中的示例顶部和底部 2 行分别以 id 82244956 和 82244957 重复)。我们需要基于 UNIQUE id 的结果集(匹配 id 中的任何行),即:
2012-04-10 09:01:18,196 LOG (7ysdhsdjfhsdhjkwe:IN) JBOSS1-1 (RP-yedgdh5567) [PayPalWeb] Fetch data with id: 82244956
2012-04-10 09:03:18,196 LOG (6744443jfhsdgyuwe:IN) JBOSS1-1 (RP-yedgdh5567) [PayPalWeb] Fetch data with id: 82244957
我试图在 Linux 上 awk 程序,但没有成功:
awk ' { arr[$1]=$0 } END { for ( key in arr ) { print arr[key] } } ' file.log >> final-report.log
或者更好的方法是file.log
仅使用不同的 id 创建。
请告知我该如何修改它?