22. 使用 awk / grep / head / tail 命令进行文本 / 日志分析

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 22. 使用 awk / grep / head / tail 命令进行文本 / 日志分析 (/home/D/acc.log)一、awk    # 统计 a-read-file 接口 中,接口耗时 超过 0.
22. 使用 awk / grep / head / tail 命令进行文本 / 日志分析 (/home/D/acc.log)

一、awk
    
# 统计 a-read-file 接口 中,接口耗时 超过 0.007 秒的有多少个请求
    D@Demon ~]$ awk '$7>0.007' acc.log | wc -l   (-l 表示统计有多少行)
    404

二、head

1、head 命令参数

    -n            指定获取多少行
    -v            输出显示文件的文件名
    -c            按指定字节显示
    -q            隐藏文件名

2、head 使用

    # 获取前 3 条日志
    [D@Demon ~]$ head -n 3 acc.log
    2014-07-17 16:40:13 14477 127.0.0.1 4FCD5690BB5FF879 m-create-file 0.022945 0 ax_add_file:0.003,mx_add_part:0.015,mx_create:0.002 fid:19-1405586413 res:ax_add_file.19-      405586413,mx_add_part.19-1405586413.0,1.mx_create.19-1405586413-0.0.8388608
2014-07-17 16:40:13 14477 127.0.0.1 72CA0245933664A5 m-info-file 0.004441 0 mx_get_file:0.004 fid:19-1405586413 res:mx_get_file.19-1405586413
2014-07-17 16:40:13 14478 127.0.0.1 461BE11327FCDCD9 m-close-file 0.019908 0 ax_put:0.001,ax_add_blk:0.012,aesenc:0.000,ax_get_blk:0.001,mx_get_file:0.003,use_sha1ctx:0.000,size:0.000 fdid:10,nmid:1885573511091757896,fid:19-1405586413 res:ax_add_blk.da39a3ee5e6b4b0d3255bfef95601890afd80709,1.ax_put.da39a3ee5e6b4b0d3255bfef95601890afd80709.0.0,ax_get_blk.da39a3ee5e6b4b0d3255bfef95601890afd80709,mx_get_file.19-1405586413

三、tail 
  
    # 获取最后 3 条日志
    [D@Demon ~]$ tail -3 acc.log
    2014-07-17 16:56:20 14478 127.0.0.1 E77A964E4722E34A m-write-file 0.017384 0 mx_get_part:0.001,mx_update_part_sha1:0.012,aesenc:0.000,nparts:0.000,sha:0.000,mx_write:0.000,mx_get_file:0.003,assureblks:0.000,rpost:0.000 hash:6563625978a161165d3c9c29a08e1e35060e54ba,pos:0,fid:52-1405587380,size:4096 res:mx_get_part.52-1405587380.0,mx_get_file.52-1405587380,mx_update_part_sha1.52-1405587380.0.-1,1.mx_write.52-1405587380-0.0.4096
2014-07-17 16:56:20 14477 127.0.0.1 B8D40F03481F9881 m-write-file 0.017265 0 x_get_part:0.001,mx_update_part_sha1:0.012,aesenc:0.000,nparts:0.000,sha1ctx:0.000,sha:0.000,mx_write:0.000,mx_get_file:0.003,assureblks:0.000,rpost:0.000 hash:cfa211339753f9e6af4b9a35224be776a0f97b07,pos:0,fid:52-1405587380,size:4096 res:mx_get_part.52-1405587380.0,mx_get_file.52-1405587380,mx_update_part_sha1.52-1405587380.0.4096,1.mx_write.52-1405587380-0.0.4096
2014-07-17 16:56:20 14478 127.0.0.1 AB214643262BAE4E m-write-file 0.018161 0 mx_get_part:0.001,mx_update_part_sha1:0.012,aesenc:0.000,nparts:0.000,sha:0.000,mx_write:0.000,mx_get_file:0.003,assureblks:0.000,rpost:0.000 hash:972a2132d806708d586540b4822681ec43188148,pos:0,fid:52-1405587380,size:4096 res:mx_get_part.52-1405587380.0,mx_get_file.52-1405587380,mx_update_part_sha1.52-1405587380.0.-1,1.mx_write.52-1405587380-0.0.4096

四、wc 

1、wc  命令参数:
    -l            统计行数
    -c           统计字节数
    -w          统计字数

2、统计 acc.log 有多少行
    [D@Demon ~]$ wc -l acc.log
    1000 acc.log
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
30天前
|
Ubuntu Linux Apache
在Linux中,如何使用logrotate命令管理日志文件?
在Linux中,如何使用logrotate命令管理日志文件?
|
1月前
|
存储 监控 安全
|
19天前
crash命令 —— log
crash命令 —— log
|
3月前
|
存储 监控 安全
深入探索Linux的journalctl命令:系统日志的利器
**journalctl 深入解析:Linux 系统日志的强大工具** journalctl 是 Linux 中用于查询和管理 systemd 日志的命令行工具,与 systemd-journald 配合收集广泛的信息,包括内核消息和服务日志。它提供实时追踪、过滤、导出等功能,如 `-f` 实时监控,`-u` 过滤特定服务日志,`-k` 显示内核消息,`--since` 和 `--until` 选择时间范围。在实际应用中,结合权限管理、日志空间控制和有效过滤,journalctl 成为系统管理员诊断和优化系统的得力助手。
|
3月前
|
SQL 关系型数据库 MySQL
|
3月前
|
关系型数据库 MySQL Linux
探索Linux下的`db_log_verify`命令(假设)
探索Linux下假设的`db_log_verify`命令,用于验证数据库日志文件的完整性、顺序性和一致性。功能包括检查文件存在、完整性(通过校验和)、顺序及内容一致性。提供的简单Bash脚本示例演示了文件存在和MD5校验。适用场景包括定期验证、备份验证和故障恢复。注意权限、错误处理、测试、兼容性及文档编写。
|
3月前
|
SQL Oracle 关系型数据库
探索 Linux 命令 `db_archive`:Oracle 数据库归档日志的工具
探索 Linux 中的 `db_archive`,实际与 Oracle 数据库归档日志管理相关。在 Oracle 中,归档日志用于恢复,当在线重做日志满时自动归档。管理员可使用 SQL*Plus 查看归档模式,通过 `RMAN` 进行备份和恢复操作。管理归档日志需谨慎,避免数据丢失。了解归档管理对 Oracle 管理员至关重要,确保故障时能快速恢复数据库。
|
2月前
|
应用服务中间件 Linux 开发工具
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​
|
3月前
|
监控 Linux 数据处理
深入了解Linux的logger命令:日志记录与监控
`logger`命令在Linux中用于向系统日志发送消息,便于记录系统事件和应用程序状态。它与`syslogd`配合,允许用户指定优先级、标识符和内容。简单易用,灵活适应不同日志需求。示例:`logger -p user.warning -t MYAPP "A warning occurred."`。注意选择合适优先级,使用有意义的标识符,并结合其他工具如`logrotate`进行日志管理。
|
4月前
|
弹性计算 运维 Shell