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%%&*}" #去尾,把&后面的都截掉
太强大了!!!!!