gpt4 book ai didi

linux - awk,从最后一列到\r\n (CRNL)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:29:34 25 4
gpt4 key购买 nike

我有一个包含如下行的文件:

Internet Protocol Version 4, Src: 192.168.0.29 (192.168.0.29), Dst: www.l.google.com (64.233.187.104)
Time to live: 128
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0\r\n

如果我使用 $NF,我会得到:

rv:1.7.5)

但我想要:

Firefox/1.0

我想制作我的脚本,如下所示:

awk '
/ User-Agent/{brow=$NF}
END{
print brow;
}
'

如有任何建议,我们将不胜感激!

完整脚本:(固定)

#!/bin/bash
echo $1;
awk '/ User-Agent/{print}' $1 > useragents_$1;
echo '----------------------------------------------------' >> useragents_$1;
sort useragents_$1 | uniq >> useragents_$1;
awk '
/Internet Protocol Version 4, Src:/{ip=$(NF-4)}
/ Time to live/{ttl++}
/ Time to live/{sttl=$NF}
/ User-Agent/{os=$(NF-6)" "$(NF-5)}
/ User-Agent/{brow=$NF}
/ User-Agent/{agent++}
/ User-Agent/{stringtemp=sttl"\t"ip"\t"os"\t"brow}
/Windows/{windows++}
/Linux/{linux++}
/Solaris/{solaris++}
END{
sub(/\\r.*$/, "", brow);
print "TTL\tIP\t\tOS\t\tBROWSER";
print stringtemp;
print "\nSUMMARY";
print "\tttl\t=\t"ttl; print "\twindows\t=\t"windows;
print "\tlinux\t=\t"linux; print "\tsolaris\t=\t"solaris;
print "\tagent\t=\t"agent
}
' $1 > useragents_$1;
more useragents_$1;

输出:

examplehttppacket.txt
TTL IP OS BROWSER
128 192.168.0.29 Windows NT Firefox/1.0\r\n

SUMMARY
ttl = 1
windows = 3
linux =
solaris =
agent = 1

感谢大家的帮助,看来主要是文本文件的问题!

最佳答案

这个 awk 应该可以工作:

awk '/User-Agent/{brow=$NF} END{sub(/\\r.*$/, "", brow); print brow;}' file

关于linux - awk,从最后一列到\r\n (CRNL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18090543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com