Linux sed命令配合goAccess使用
来源:互联网 发布:高仿mcm淘宝店推荐 编辑:程序博客网 时间:2024/05/16 08:14
主要对日志文件按日志进行分析处理
一、查看某一天(2017-10-26)的请求日志
sed -n '/26\/Oct\/2017/p' test_com_access.log | goaccess -a > /mnt/logs/test_20171027.html
二、查看某一天只包含“mp3”的请求日志
1、将某一天的日志先保存到新的文件中
sed -n '/26\/Oct\/2017/p' test_com_access.log > test_access_20171026.log
2、对新文件进行分析处理
sed -n '/\.mp3/p' test_com_access_20171026.log | goaccess -a > /mnt/logs/test_mp3_20171027.html
三、查看某时间段的请求日志
sed -n '/16\/Oct\/2017/,/22\/Oct\/2017/p' test_com_access.log | goaccess -a > /mnt/logs/test_20171016-22.html
关于sed命令
sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。
sed用法实例
替换操作: s命令
替换文本中的字符串:
[root@iZuf sed]# cat test.log111111122222book good444book6[root@iZuf sed]# sed 's/book/books/' test.log 111111122222books good444books6
将test.log中的6替换成books
-n选项和p命令一起使用表示只打印那些发生替换的行:
[root@iZuf sed]# sed -n 's/book/BOOK/p' test.logBOOK goodBOOK
全面替换标记g
使用后缀 /g 标记会替换每一行中的所有匹配:
[root@iZuf sed]# sed 's/book/BOOK/g' test.log111111122222BOOK good444BOOK6
当需要从第N处匹配开始替换时,可以使用 /Ng:
[root@iZuf sed]# sed 's/ok/OK/2g' test.log 111111122222Books goodookoOKoOKoOKoOKoOKoOKoOKoOKoOKBooks BoOKs BoOKs
定界符
以上命令中字符 / 在sed中作为定界符使用,也可以使用任意的定界符:
[root@iZuf sed]# sed 's:22222:6:g' test.log 11111116Books goodookookookookookookookookookookBooks Books Books6[root@iZuf sed]# sed 's|22222|6|g' test.log 11111116Books goodookookookookookookookookookookBooks Books Books6
删除操作: d命令
#删除空白行[root@iZuf sed]# sed '/^$/d' test.log 111111122222Books goodookookookookookookookookookookBooks Books Books6#删除文件的第3行[root@iZuf sed]# sed '3d' test.log 111111122222ookookookookookookookookookookBooks Books Books6#删除文件的第3行至末尾所有行[root@iZuf sed]# sed '3,$d' test.log 111111122222#删除文件中所有开头为Book的行[root@iZuf sed]# cat test.log 111111122222Books goodookookookookookookookookookookBooks Books Books6[root@iZuf sed]# sed '/^Book/'d test.log 111111122222ookookookookookookookookookook
已匹配字符串标记&
正则表达式 \w+ 匹配每一个单词,使用 [&] 替换它,& 对应于之前所匹配到的单词
所有以22222开头的行都会被替换成它自已加localhost:
[root@iZuf sed]# sed 's/^22222/&localhost/' test.log 111111122222localhostBooks goodookookookookookookookookookookBooks Books Books6
详细实例地址:http://man.linuxde.net/sed
阅读全文
0 0
- Linux sed命令配合goAccess使用
- linux sed命令使用
- linux sed命令使用
- linux sed命令使用
- linux sed 命令使用
- linux sed命令使用
- linux使用sed命令
- linux sed命令使用总结
- Linux下sed命令使用
- linux sed命令使用详解
- linux的sed命令使用
- Linux sed 命令使用小结
- linux sed 命令的使用
- linux-命令sed 使用技巧
- linux命令-sed命令使用(1)
- linux命令-sed命令使用(2)
- linux命令-sed命令使用(3)
- linux命令-sed命令使用(4)
- 普强信息何国涛:车载语音只有实验室数据,用户不会买账
- 提高工作效率的一些工具
- cognos
- 链表逆序
- codevs1012 最大公约数和最小公倍数问题
- Linux sed命令配合goAccess使用
- torch 变量更新
- 游标操作
- 洞见 | 高通与苹果会给远场语音交互带来什么?
- 蓦然认知:CES Asia上崭露头角的黑马
- MyBatis学习总结(一)——MyBatis快速入门
- Mac下突破百度网盘下载限制
- Django官方教程(三)【创建你的第一个 Django 项目,第一部分】
- 例题6-20 uva1599 Ideal Path (双向bfs+字典序)