`
he_wen
  • 浏览: 238589 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Linux------awk使用

 
阅读更多

Linux------awk使用

 

一、分析日志文件

 

课前基础:  awk基本使用

awk ' BEGIN{ print "start" } {commands} END{ print "end" }'

先执行BEIGN语句,然后重复的执行commands行,直到文件全部读取完毕,读取文件末尾时,执行END语句块。

这个语句可以没有BEGIN、END但是必须有{commands}

 

1、awk特殊变量:

  1. NR:记录数量,在执行过程中对应于当前行号
  2. NF:表示字段数目,执行过程中对应于当前行的字段数
  3. $0:执行行中的文本内容
  4. $1:包含第一个字段的文本内容
  5. $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
分享到:
评论

相关推荐

    Vim-101-hacks、Sed-and-Awk-101-Hacks、Linux-101-hacks 英文版(高清)PDF

    "Sed-and-Awk-101-Hacks"可能包含如何使用基本的sed命令,如替换、删除、插入行,以及使用地址范围进行特定操作。此外,还可能涉及正则表达式在sed中的应用,如查找和替换模式,以及使用sed进行批量文本编辑。 3. ...

    linux-awklinux-awk

    ### Linux Awk 学习指南 #### 1. Awk 简介 Awk 是一种专门设计用于处理文本和数据的编程语言,主要用于 Linux/Unix 操作系统中。...掌握这些知识可以帮助您更好地在 Linux/Unix 环境下使用 Awk 处理文本和数据。

    linux-awk-完全手册范本.doc

    "Linux awk 完全手册范本" awk 是一种功能强大的样式扫描和处理工具,能够完成 grep 和 sed 所能完成的全部工作,并且具有样式装入、流控制、数学运算符、进程控制语句、置的变量和函数等功能。awk 的优点是简单、...

    mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

    本文将详细介绍这个版本在Linux环境下的安装与使用,以及如何处理`.tar.gz`压缩文件。 首先,`mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz`是一个针对Linux系统的MySQL服务器的源码包。`tar.gz`是一种常见的文件...

    linux-利用tcpdump抓包和awk处理写的基于端口的流量统计

    在Linux系统中,我们可以使用以下命令来启动tcpdump并捕获指定端口的数据包: ```bash tcpdump -i interface -nn port port_number ``` 这里的`interface`是指你要监听的网络接口(如eth0、wlan0等),`-nn`选项...

    linux-shell脚本命令:awk命令简介

    Linux系统中的awk命令是一个功能强大的文本处理工具,它可以对输入(通常是文件)进行模式扫描和处理。awk命令常用于在Linux shell脚本中进行数据提取、文本转换、数据报告生成等操作。本文将对awk命令的基本知识...

    linux命令--AWK用法简介

    AWK,一种在Unix/Linux系统中广泛使用的文本处理工具,源自三位杰出的计算机科学家Aho、Weinberg和Kernighan之名。与sed和grep类似,AWK也是一种样式扫描与处理工具,但它在功能上更为强大,不仅能够完成这两者的...

    canaima-gnu-linux-dumphive

    转换后的文本格式使得数据可以进一步通过grep、awk、sed等Linux命令行工具进行过滤、搜索和修改。 “dumphive”的使用方法一般包括以下几个步骤: 1. 获取Windows注册表文件:这可能需要从运行Windows的系统中复制....

    awk--Linux awk 命令-基础知识概要

    AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首 字符。

    Linux教程-linux文本处理-awk.docx

    Linux系统中的文本处理工具众多,其中awk是被誉为“文本处理三剑客”之一的重要成员。awk的名字来源于其三位创始人——Aho, Weinberger, Kernighan的首字母缩写,它最初是在AT&T实验室开发的。现在,我们最常见的awk...

    Curso-GNU-Linux-AWK-Bash-Git-RSG-y-iGEM-Ecuador

    Curso-GNU-Linux-AWK-Bash-Git-RSG-y-iGEM-厄瓜多尔

    linux 文本扫描与处理--awk 使用手册

    3. awk在大多数Linux系统中预装,无需额外安装,方便使用。 awk的调用方式有三种: 1. 直接在命令行中使用awk,适合处理简单任务,或者在shell脚本中嵌入awk命令。 2. 通过-f选项指定包含awk程序的外部文件,这种...

    Linux实战awk详解

    标签"linux"表明这个教程不仅适用于awk本身,还涵盖了在Linux环境中使用awk的实际场景,比如结合管道符(|)和其他Linux命令一起使用,以实现更强大的文本处理能力。 压缩包中的三个PDF文件——"l-awk2-pdf.pdf"、...

    awk教程-awk教程.rar

    虽然awk是Unix/Linux下的标准工具,但也可以在Windows上通过安装GnuWin32或Git for Windows等工具集来使用。安装后,awk命令可以直接在命令行中调用,操作方式与Unix/Linux系统下相同。 ### 6. 学习资源推荐 - **...

    linux-du查看文件大小

    ### Linux du 命令详解:查看文件及目录大小 在Linux系统中,了解文件或目录的大小对于磁盘空间管理至关...结合`awk`、`find`等其他命令一起使用,可以发挥出更大的作用,帮助我们更好地管理Linux系统中的文件和目录。

    mongodb-linux-x86_64-4.0.3

    本压缩包“mongodb-linux-x86_64-4.0.3”是专门为Linux系统(特别是CentOS)设计的安装包,适用于64位架构。 首先,我们来详细了解一下MongoDB的核心特性: 1. 文档型数据库:MongoDB采用JSON格式的文档作为数据...

    p31668908_112040_Linux-x86-64

    `logrotate` 命令用于自动轮换日志文件,`grep`、`less` 和 `awk` 等工具用于搜索和分析日志内容。 7. **补丁管理**:软件更新和补丁安装是保持系统安全的重要步骤。描述中的 "31668908" 可能就是这样一个补丁。...

    Linux命令大全搜索工具linux-command-master.zip

    Linux命令涵盖范围广泛,包括文件和目录管理(如`cd`、`mkdir`、`rm`、`cp`、`mv`)、文本处理(如`grep`、`sed`、`awk`)、进程管理(如`ps`、`kill`、`top`)、网络通信(如`ping`、`curl`、`nc`)以及系统监控...

    linux awk用法指南

    Linux AWK 用法指南 AWK 是一种强大的数据处理和文本处理工具,经常用于 Linux 和 Unix 系统中。AWK 的全称是 Aho, Weinberger 和 Kernighan,这三个名字来自三位开发者。AWK 的主要功能是从文件或字符串中基于指定...

Global site tag (gtag.js) - Google Analytics