Linux------awk使用
一、分析日志文件
课前基础:
awk基本使用
awk ' BEGIN{ print "start" } {commands} END{ print "end" }'
先执行BEIGN语句,然后重复的执行commands行,直到文件全部读取完毕,读取文件末尾时,执行END语句块。
这个语句可以没有BEGIN、END但是必须有{commands}
1、awk特殊变量:
- NR:记录数量,在执行过程中对应于当前行号
- NF:表示字段数目,执行过程中对应于当前行的字段数
- $0:执行行中的文本内容
- $1:包含第一个字段的文本内容
- $2:包含第二个字段的文本内容
2、将外部变量传递给awk:
借助于-v参数
3、对awk的行进行过滤
awk 'NR <5' 行号小于5;awk 'NR==1,NR==4' 行号在1到5之间的行
awk '/linux/' 得到这个linux样式的行,如果是不包含就是使用'#/linux/'
4、awk自建的内置函数
split、length、substr等等
5、设置字段定界符
默认的是空格,我们可以使用-F '分隔符'
demo演示:
#!/bin/bash
echo $1;
grep $1 /data/logs/login-resin-stdout.log|awk -F ' ' '{ arr[split($21,tmp,":")];print tmp[2] }'
|awk -v var_1=$2 '{arr[$i]++;}END{for (i in arr){if(arr[i]>var_1){print i,arr[i]}}}'
表示的是先文本先按变量$1过滤,然后文本行按照空格分隔,此文本被分成21段,然后将第21段的字符按照字符':'分隔,得到 的数组只要第2的值(注意该数组标量是从1开始),然后统计得到的值重复的次数
6、统计线程swap大于10000的
for i in `ls /proc/|grep -v [a-z]`;do cat /proc/$i/smaps |grep Swap|awk -v
pid=$i 'BEGIN{total=0}{total+=$2}END{if (total >10000){print "pid: " pid " " total " M"}}';done
分享到:
相关推荐
"Sed-and-Awk-101-Hacks"可能包含如何使用基本的sed命令,如替换、删除、插入行,以及使用地址范围进行特定操作。此外,还可能涉及正则表达式在sed中的应用,如查找和替换模式,以及使用sed进行批量文本编辑。 3. ...
### Linux Awk 学习指南 #### 1. Awk 简介 Awk 是一种专门设计用于处理文本和数据的编程语言,主要用于 Linux/Unix 操作系统中。...掌握这些知识可以帮助您更好地在 Linux/Unix 环境下使用 Awk 处理文本和数据。
"Linux awk 完全手册范本" awk 是一种功能强大的样式扫描和处理工具,能够完成 grep 和 sed 所能完成的全部工作,并且具有样式装入、流控制、数学运算符、进程控制语句、置的变量和函数等功能。awk 的优点是简单、...
本文将详细介绍这个版本在Linux环境下的安装与使用,以及如何处理`.tar.gz`压缩文件。 首先,`mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz`是一个针对Linux系统的MySQL服务器的源码包。`tar.gz`是一种常见的文件...
在Linux系统中,我们可以使用以下命令来启动tcpdump并捕获指定端口的数据包: ```bash tcpdump -i interface -nn port port_number ``` 这里的`interface`是指你要监听的网络接口(如eth0、wlan0等),`-nn`选项...
Linux系统中的awk命令是一个功能强大的文本处理工具,它可以对输入(通常是文件)进行模式扫描和处理。awk命令常用于在Linux shell脚本中进行数据提取、文本转换、数据报告生成等操作。本文将对awk命令的基本知识...
AWK,一种在Unix/Linux系统中广泛使用的文本处理工具,源自三位杰出的计算机科学家Aho、Weinberg和Kernighan之名。与sed和grep类似,AWK也是一种样式扫描与处理工具,但它在功能上更为强大,不仅能够完成这两者的...
转换后的文本格式使得数据可以进一步通过grep、awk、sed等Linux命令行工具进行过滤、搜索和修改。 “dumphive”的使用方法一般包括以下几个步骤: 1. 获取Windows注册表文件:这可能需要从运行Windows的系统中复制....
AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首 字符。
Linux系统中的文本处理工具众多,其中awk是被誉为“文本处理三剑客”之一的重要成员。awk的名字来源于其三位创始人——Aho, Weinberger, Kernighan的首字母缩写,它最初是在AT&T实验室开发的。现在,我们最常见的awk...
Curso-GNU-Linux-AWK-Bash-Git-RSG-y-iGEM-厄瓜多尔
3. awk在大多数Linux系统中预装,无需额外安装,方便使用。 awk的调用方式有三种: 1. 直接在命令行中使用awk,适合处理简单任务,或者在shell脚本中嵌入awk命令。 2. 通过-f选项指定包含awk程序的外部文件,这种...
标签"linux"表明这个教程不仅适用于awk本身,还涵盖了在Linux环境中使用awk的实际场景,比如结合管道符(|)和其他Linux命令一起使用,以实现更强大的文本处理能力。 压缩包中的三个PDF文件——"l-awk2-pdf.pdf"、...
虽然awk是Unix/Linux下的标准工具,但也可以在Windows上通过安装GnuWin32或Git for Windows等工具集来使用。安装后,awk命令可以直接在命令行中调用,操作方式与Unix/Linux系统下相同。 ### 6. 学习资源推荐 - **...
### Linux du 命令详解:查看文件及目录大小 在Linux系统中,了解文件或目录的大小对于磁盘空间管理至关...结合`awk`、`find`等其他命令一起使用,可以发挥出更大的作用,帮助我们更好地管理Linux系统中的文件和目录。
本压缩包“mongodb-linux-x86_64-4.0.3”是专门为Linux系统(特别是CentOS)设计的安装包,适用于64位架构。 首先,我们来详细了解一下MongoDB的核心特性: 1. 文档型数据库:MongoDB采用JSON格式的文档作为数据...
`logrotate` 命令用于自动轮换日志文件,`grep`、`less` 和 `awk` 等工具用于搜索和分析日志内容。 7. **补丁管理**:软件更新和补丁安装是保持系统安全的重要步骤。描述中的 "31668908" 可能就是这样一个补丁。...
Linux命令涵盖范围广泛,包括文件和目录管理(如`cd`、`mkdir`、`rm`、`cp`、`mv`)、文本处理(如`grep`、`sed`、`awk`)、进程管理(如`ps`、`kill`、`top`)、网络通信(如`ping`、`curl`、`nc`)以及系统监控...
Linux AWK 用法指南 AWK 是一种强大的数据处理和文本处理工具,经常用于 Linux 和 Unix 系统中。AWK 的全称是 Aho, Weinberger 和 Kernighan,这三个名字来自三位开发者。AWK 的主要功能是从文件或字符串中基于指定...