`

linux awk 命令

阅读更多
awk

数据处理命令

-F 定义列分隔符

awk '条件类型 1{动作 1} 条件类型2{动作 2} ...' filename

1.读入第一行,并将内容按分隔符(默认空格)分割,每个字段列可以使用$1,$2...访问。
  整行使用$0
2.   依据 "条件类型" 的限制,判断是否需要迚行后面的 "动作";
3.   做完所有动作与条件判断;
4.   若还有后续的“行”数据,则重复上面 1~3 癿步骤,直到所有的数据都读完为止。

内部变量:
NF 每一行拥有的字段总数
NR 目前处理是第几行
FS 目前的分割字符,默认空格
FILENAME 文件名

BEGIN 读入之前执行
END 处理完所有读入数据后执行



> last -n5
appoper  pts/18       25.0.170.121     Thu Nov  2 15:17   still logged in   
appoper  pts/26       25.0.170.121     Thu Nov  2 15:13 - 15:19  (00:05)    
appoper  pts/18       25.0.170.107     Thu Nov  2 15:11 - 15:16  (00:05)    
appoper  pts/26       25.0.170.106     Thu Nov  2 15:10 - 15:11  (00:01)    
appoper  pts/18       25.0.170.121     Thu Nov  2 15:05 - 15:10  (00:05) 

> last -n5|awk '{print $1"@"$3}'
appoper@25.0.170.121
appoper@25.0.170.121
appoper@25.0.170.107
appoper@25.0.170.106
appoper@25.0.170.121


以“:”分割,输出uid小于10的用户名
> cat /etc/passwd |awk '{FS = ":"} $3 <10 {print $1}'
root:x:0:0:root:/root:/bin/bash #第一行未被分割,下面使用BEGIN处理
bin
daemon
adm
lp
sync
shutdown
....


用BEGIN关键字,先执行BEGIN语句,后读取内容处理
> cat /etc/passwd |awk 'BEGIN{FS = ":"} $3 <10 {print $3 "\t" $1}'
0       root
1       bin
2       daemon
3       adm
4       lp
5       sync
6       shutdown
.....


新建文本awk.txt内容:
a 10 20
b 23 34
c 12 13

统计第二列的和,END处理完所有读取行后执行
> cat awk.txt|awk -F' ' 'BEGIN{total=0}{total=total+$2;print $2}END{print total}'
10
23
12
45


统计当前目录文件大小和
> ll|awk 'BEGIN{size=0}{size=size+$5}END{print "total size:"size}'
total size:7467


结合printf格式化输出使用
printf [-v var] format [arguments]

\r 回车
\n 换行
\t tab键

%ns n个长度的string
%ni n个长度的integer
%a.bf 总长为a,小数点后b个长度格式的float

> cat awk.txt |awk -F' ' '{printf "%4s%4i\t%4.2f\n",$1,$2,$3}'
   a  10        20.00
   b  23        34.00
   c  12        13.00

1
0
分享到:
评论

相关推荐

    Linuxawk命令详解[归类].pdf

    Linux awk 命令详解 Linux awk 命令是 Unix 环境中的一种功能强大的文本处理工具,由 Bell Labs 的 Alfred Aho、Peter Weinberger 和 Brian Kernighan 于 1977 年开发。awk 命令的主要功能是从文件或字符串中基于...

    最牛逼的Linux awk命令详细介绍和实例快速学习

    最牛逼的Linux awk命令详细介绍和实例快速学习

    Linux awk 命令用法详解

    Linux awk 命令 AWK是一种处理文本文件的语言,是一个强大的文本分析工具。 之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。 语法 awk [选项参数]...

    linux awk 命令大全

    Linux中的`awk`命令是一个强大的文本分析工具,它允许用户基于特定的模式匹配对文本文件进行处理。在本文中,我们将深入探讨`awk`的基本概念、语法和常见用途。 首先,`awk`有三个主要版本:`awk`、`nawk`和`gawk`...

    Linux_awk命令详解

    Linux中的awk命令是一个强大的文本分析工具,用于处理和解析文件中的数据。awk的名称来源于它的创始人: Alfred V. Aho, Peter J. Weinberger, 和 Brian W. Kernighan。awk有三个主要版本:awk、nawk(new awk)和...

    Linux AWK 命令

    Linux中的AWK命令是一个强大的文本分析工具,它允许用户在数据流中进行模式匹配和处理。这个命令的名字来源于它的三位创始人—— Alfred V. Aho、Peter J. Weinberger 和 Brian W. Kernighan 的首字母缩写。在Linux...

    linux awk命令详解.docx

    Linux中的`awk`命令是一个强大的文本分析工具,用于处理和解析结构化的文本文件。它能够按照用户指定的模式对文本进行分析,并根据需要提取、修改或格式化数据。`awk`命令的名字来源于它的三位创始人——Aho、Wall和...

    awk命令详解

    AWK 命令详解 AWK 是一个强大的文本分析工具,相对于 grep 的查找和 sed 的编辑,AWK 在其对数据分析并生成报告时,显得尤为强大。简单来说,AWK 就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分...

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

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

    LINUX下awk命令详解

    ### Linux 下 awk 命令详解 #### 一、引言 `awk` 是一个功能强大的文本处理工具,在 Unix 和类 Unix 操作系统(如 Linux)中被广泛使用。它不仅可以进行模式匹配,还能执行复杂的文本处理任务。本文将详细介绍 `awk...

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

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

    grep,sed,awk命令实例大练习

    ### grep、sed、awk命令实例大练习 在Linux或Unix环境中,`grep`、`sed`和`awk`是三个非常强大的文本处理工具。通过掌握这些工具的基本用法及高级功能,用户可以高效地处理各种文本文件。下面将详细介绍如何使用...

    linu awk命令详解_linuawk命令详解_

    在Linux世界中,熟悉awk命令对于日常的系统管理和数据分析非常有用。 awk的工作原理是逐行读取输入文件,然后根据用户定义的模式和动作来处理这些行。模式通常是一个正则表达式,动作则是一段代码,awk会在匹配到...

    Linux实战awk详解

    例如,如果你想从一个CSV文件中提取第二列的所有数据,可以使用以下awk命令: ```bash awk -F ',' '{print $2}' filename.csv ``` 这里,"-F ','"指定了逗号作为字段分隔符,而`print $2`则表示打印每行的第二个字段...

    实验87-Linux命令:awk命令1

    【Linux命令:awk命令1】 awk 是 Linux/Unix 环境下的一种强大的文本分析工具,它的名字来源于其三位创建者的名字首字母:Alfred Aho、Peter Weinberger 和 Brian Kernighan。awk 可以从标准输入、文件或其他命令的...

    linux_awk 学习手册

    【Linux Awk 学习手册】 awk 是一个强大的文本分析工具,源于 UNIX 系统,由 Aho、Weinberg 和 Kernighan 三位开发者命名。它的全名并不表示特定的功能,而是创建者姓名的首字母缩写。awk 的主要功能在于对文本数据...

    Linux主要shell命令、sed、awk使用详解

    Linux 主要 shell 命令、sed、awk 使用详解 本文将详细介绍 Linux 的主要 shell 命令、sed 和 awk 的使用方法和原理。shell 是用户和 Linux 操作系统之间的接口,用户可以通过 shell 输入命令来操作 Linux 系统。...

    linux awk学习

    ### Linux Awk 学习知识点详解 #### 一、Awk 简介与基本用法 Awk 是一种在 Unix 和类 Unix 操作系统上广泛使用的文本处理工具,能够帮助用户快速处理文本数据,执行复杂的文本分析任务。Awk 的主要功能包括模式...

    linux文本处理工具awk命令详解

    linux文本处理工具awk命令详解,超详细的讲解awk命令,更多实战案例

Global site tag (gtag.js) - Google Analytics