例如我们统计sid,access 日志如下:
203.142.196.181 - - [07/Jan/2009:06:02:58 +0900] "GET /ad/queryphp.jsp?v=1.5&ct=i02&tos=A&key=%3F%3F%3F&sid=100575311&enc=SJIS HTTP/1.0" 200 944 "-" "{KDDI-SN3B UP.Browser/6.2.0.13.1.5 (GUI) MMP/2.0}" 113185 1177
仅使用awk即可完成,先按照"sid="分割,取第二列,然后以"&"为分割,取第一列,OK
awk -F"sid=" '{print $2}' test |awk -F"&" '{print $1}'
另外一个办法,新学的,使用echo的掐头去尾的方法
a=$(echo string); #源字符串
b=$(echo "${a##*sid=}") #恰头,截取到sid后面的数据
echo "${b%%&*}" #去尾,把&后面的都截掉
太强大了!!!!!
本文介绍如何利用awk工具高效地从SID访问日志中提取关键信息。通过两次使用awk,首先定位到包含sid=的部分,再进一步精确提取sid=后的值直至遇到下一个符号&为止。此外,还提供了一种使用echo命令进行字符串截取的替代方案。
1475

被折叠的 条评论
为什么被折叠?



