shell脚本迅速获取access日志中的某个参数

例如我们统计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%%&*}" #去尾,把&后面的都截掉

太强大了!!!!!3245a3432ab37a279be9b280f6b87f54.jpg

原文地址:https://www.cnblogs.com/pony/p/1371753.html