关键词:
日志信息:
源数据:1.1.1.1 - - [08/Aug/2018:00:00:14 +0800] "GET http://www.test.test/test1/test2/tes3 HTTP/1.1" 200 1306 "http://a.b.cn/test/test?form" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134"
访问一级目录: http://www.test.test/test1 访问来源: http://a.b.cn
开始处理:
1.先使用awk 提取需要的信息,由于目标站点的域名是固定的 www.test.test 所以这个不做判断,只判断访问来源和访问状态
#取第7 9 11列 状态200 源是b.cnawk ‘$9 =="200" && $11 ~/^"http://[a-zA-Z0-9]*.b.cn/ print $7," ",$9," ",$11‘
得到如下数据
http://www.test.test/test1/test2/tes3 200 http://a.b.cn/test/test?form
2.再使用sed 对剩下的数据进行处理,只需要源的域名,以及访问目标的一级域名
sed ‘s/"//g‘ | sed ‘s/(http://[a-zA-Z0-9]*.b.cn)/.*/1/g‘ #截取b.cn域名信息 sed ‘s/(http://www.test.test/[0-9a-zA-Z_]*/).*200/1/g‘ #取www.test.test的第一级目录
3.通过awk 和 sed 之后,再去重 。去重需要先排序 再使用 uniq去重
sort -k2n | uniq
4.完整脚本
#!/bin/bash cd /home/log log=`ls *.log` for i in $log do cat $i | awk ‘$9 =="200" && $11 ~/^"http://[a-zA-Z0-9]*.b.cn/ print $7," ",$9," ",$11‘ | sed ‘s/"//g‘ | sed ‘s/(http://[a-zA-Z0-9]*.test.test)/.*/1/g‘| sed ‘s/(http: //www.test.test/[0-9a-zA-Z_]*/).*200/1/g‘ >>test.log done sleep 3 cat test.log | sort -k2n | uniq >test1.log
使用 bash (sed/awk) 提取 CSV 文件中的行和列?
】使用bash(sed/awk)提取CSV文件中的行和列?【英文标题】:usingbash(sed/awk)toextractrowsANDcolumnsinCSVfiles?【发布时间】:2013-01-0716:36:57【问题描述】:bash是否能够处理从csv文件中提取行和列?希望我不必求助于python..我的5列csv文件如下... 查看详情
awk&sed小实例
...印文件奇数行sed-n‘p;n‘sed‘n;d‘sed-n‘$!N;P‘sed-n‘1~2p‘awk‘i=!i‘awk‘NR%2‘2、打印文件偶数行sed-n‘n;p‘sed-n‘0~2p‘awk‘!(i=!i)‘awk‘!(NR%2)‘3、打印文件倒数第二行sed-n‘N;$P;D‘awk‘{a[NR]=$0}END{printa[NR-1]}‘awk‘{a=b;b=$0}END{prin 查看详情
sed&awk笔记之awk
Awk是什么?Awk、sed与grep,俗称Linux下的三剑客,它们之间有很多相似点,但是同样也各有各的特色,相似的地方是它们都可以匹配文本,其中sed和awk还可以用于文本编辑,而grep则不具备这个功用。sed是一种非交互式且面向字符... 查看详情
unix&linux的文本处理工具--grep,sed&awk
...时脑中闪过的大概是铺天盖地baidu,google出来的冗余的各类使用介绍,老生常谈希望能让大家对这三个文本工具有新的理解。grep不做过多的介绍,打印出匹配的行,着重点在于输出结果并不对文本本身做修改。有个关于grep的小故... 查看详情
awk 和 sed 文本操作(从特定组中提取大多数负值)
】awk和sed文本操作(从特定组中提取大多数负值)【英文标题】:Awk&sedtextmanipulation(extractmostnegativevaluefromspecificgroup)【发布时间】:2012-09-2318:35:17【问题描述】:我确实有需要在awk、sed和shell中解决的文本操作问题。我的文字... 查看详情
l-1-23awk&sed
[awk]awk<option>'<PATTERN>{<action>}'<filename>[<filename2>...] //文本处理工具比如:df-Ph|awk'{print$1,$3}'//awk中大括号中应该用双引号awk会去分割每行并成分为字段,如:thisisa&nbs 查看详情
Bash & awk:尝试在 awk 中使用 bash 脚本参数时出现分段错误
】Bash&awk:尝试在awk中使用bash脚本参数时出现分段错误【英文标题】:Bash&awk:Segmentationfaultwhiletryingtousebashscriptarguementinawk【发布时间】:2021-12-2607:51:03【问题描述】:我正在尝试编写一个脚本来使用awk在两个时间戳之间提... 查看详情
sed&&awk第二章runsed代码理解
#!/bin/sh2forx3do4echo"editing$x:c"5#iftest"$x"=sedscr;then6#echo"noteditingsedscript!"7if["$x"="sedscr"];then8echo"binoteditingsedscript!"9eliftest-s$x;then10echo"xexist"11sed-fsedscr$x>/tmp/$x$$ 查看详情
awk&sed(代码片段)
...他语句数组应用数组的定义数组相关函数二维、多维数组使用内置函数算术函数字符串函数一般函数时间函数linuxawk命令详解sed入门详解教程一、写在前边二、基本正则表达式三、扩展正则表达式四、正则表达式的分类和应用五... 查看详情
使用 awk 或 sed 提取文本
】使用awk或sed提取文本【英文标题】:Extracttextwithawkorsed【发布时间】:2020-09-2621:44:21【问题描述】:我想从下面提取和删除一些文本[root@test]#du-k./[a-zA-Z0-9]--max-depth=1|sort-hr之前7789696./b/bklee946792./a796588./b/bluecyn477860./b/bborikun473652./... 查看详情
使用 awk 或 sed 从 ifconfig 解析数据?
】使用awk或sed从ifconfig解析数据?【英文标题】:Parsingdatafromifconfigwithawkorsed?【发布时间】:2012-04-1603:25:41【问题描述】:我正在尝试使用sed解析ifconfig输出中的一些数据,但我无法正确执行。我希望该命令仅提取我所追求的数... 查看详情
在 bash/sed/awk 中提取文件的最后一个单词
...print$NF\'file【讨论】:【参考方案2】:已更新。如果您想使用awk 查看详情
使用 bash 命令 awk sed 等从脚本中提取参数字段
】使用bash命令awksed等从脚本中提取参数字段【英文标题】:Extractargumentfieldsfromascriptusingbashcommandsawksedetc【发布时间】:2022-01-1315:32:20【问题描述】:我正在尝试从函数参数中使用的各种脚本中提取所有参数。我有用于查找参数... 查看详情
使用 sed 连接 xml 标签 [重复]
】使用sed连接xml标签[重复]【英文标题】:Usesedtoconcatenatexmltags[duplicate]【发布时间】:2021-12-1118:02:41【问题描述】:我正在尝试从以下xml标记中提取和连接<id>和<name>的值<applications><application><id>... 查看详情
匹配文件中的字符串并使用 sed 或 awk 打印整个值
】匹配文件中的字符串并使用sed或awk打印整个值【英文标题】:Matchastringinafileandprintentirevalueusingsedorawk【发布时间】:2015-03-2709:35:07【问题描述】:我正在尝试提取与字符串关联的值,但需要一种最佳方式。name=sandeeplogin_name=sn00... 查看详情
awk“for”语句中的“&&”
】awk“for”语句中的“&&”【英文标题】:"&&"inawk"for"statement【发布时间】:2015-07-2404:07:16【问题描述】:awk-F\'\\t\'\'BEGINOFS="\\t"x[NR]=$1;y[NR]=$2ENDfor(m=1;m<=NR;m++)for(n=m+1;n<=NR&&x[m]==x[ 查看详情
如何在 SED 或 AWK 的行中添加双引号?
】如何在SED或AWK的行中添加双引号?【英文标题】:HowtoadddoublequotestoalinewithSEDorAWK?【发布时间】:2012-06-0101:14:46【问题描述】:我有以下单词列表:name,id,3我需要像这样双引号:"name,id,3"我试过sed\'s/.*/\\"&\\"/g\',得... 查看详情
不在 AWK 中的类似数据库中
】不在AWK中的类似数据库中【英文标题】:NotInlikedatabaseinAWK【发布时间】:2018-06-0100:32:03【问题描述】:如何简化!=语句。我有很多这样的价值观if(charNr%2==0&&newChar!=""&&newChar!="0"&&newChar!="1"&&newChar!="2"&&a... 查看详情