awk使用方法详解

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

awk工具

awk 选项 ‘模式或条件{编辑命令}’ 文件1 文件2…. //过滤并输出文件中符合条件的内容

awk -f 脚本文件 文件1 文件2… //从脚本中调用的编辑指令,过滤并输出内容

awk包含几个特殊的内建变量(可直接用)如下所示:

FS:指定每行文本的字段分隔符,默认为空格或制表位;
NF:当前处理的行的字段个数;
NR:当前处理的行的行号(序数);
$0:当前处理的行的整行内容;
$n:当前处理的行的第n个字段(第n列);
FILENAME:被处理的文件名;
RS:数据记录分隔,默认为\n,即每行为一条记录。

1、按行输出文本
1.1输出所有内容,等同于cat test.txt

awk ‘{print}’ test.txt

1.2输出所有内容,等同于cat test.txt

awk ‘{print $0}’ test.txt

1.3输出第1~3行内容

awk ‘NR1,NR3{print}’ test.txt

1.4输出第1~3行内容

awk ‘(NR>=1)&&(NR<=3){print}’ test.txt

1.5输出第1行,第3行的内容

awk ‘NR1||NR3{print}’ test.txt

1.6输出所有奇数行的内容

awk ‘(NR%2)==1{print}’ test.txt

1.7输出所有偶数行的内容

awk ‘(NR%2)==0{print}’ test.txt

1.8输出以root开头的行

awk ‘/^root/{print}’ /etc/passwd

1.9输出以nologin结尾的行

awk ‘/nologin$/{print}’ /etc/passwd

1.10统计以/bin/bash结尾的行数,等同于grep –c “/bin/bash$” /etc/passwd

awk ‘BEGIN {x=0};//bin/bash$/{x++};END {print x}’ /etc/passwd

1.11统计以空行分隔的文本段落数

awk ‘BEGIN {RS=””} ;END{print NR}’ test.txt

2按字段输出文本
2.1输出每行中(以空格或制表符分隔)的第三个字段

awk ‘{print $3}’ test.txt

2.2输出每行中第1,3个字段

awk ‘{print $1,$3}’ test.txt

2.3输出密码为空的用户的shadow记录

awk -F ”:” ‘$2==””{print}’ /etc/shadow

2.4输出密码为空的用户的shadow记录

awk ‘BEGIN {FS=”:”} ; $2==””{print}’ /etc/shadow

2.5输出以冒号分隔且第7个字段中包含/bash的行的第一个字段

awk -F ”:” ‘$7~”/bash”{print $1}’ /etc/shadow

2.6输出包含8个字段且第一个字段中包含nfs的行的第1,2个字段

awk ‘($1~”nfs”)&&(NF==8){print $1,$2}’ /etc/services

2.7输出第七个字段既不为/bin/bash也不为/sbin/nologin的所有行

awk -F “:” ‘($7 != “/bin/bash”)&&($7 != “/sbin/nologin”){print}’ /etc/passwd

3通过管道、双引号调用Shell命令
3.1调用wc –l命令统计使用bash的用户的个数,等同于grep –c “bash$ ” /etc/passwd

awk -F: ‘/bash $/{print | “wc -l”}’ /etc/passwd

3.2调用w命令,并用来统计在线用户数

awk ‘BEGIN {while (“w” | getline) n++ ; {print n-2}}’

3.3.调用hostname,并输出当前主机名

awk ‘BEGIN {“hostname” | getline ; print $0}’

AWK基础教程 前言 之前针对WorkerHub小程序做的数据分析文章 XXX 收到了一些小伙伴的回复,点名要学习数据分析,其实我也是一知半解,想着来写几篇文章简单聊下我分析的过程。 首先是数据清洗和统计了,这块我并没有用诸如Python之类的脚本语言,虽然Python提供了很多强大的数据分析库如Pandas、Numpy等,但是毕竟要麻烦一些,还要写个脚本,装一堆库(PS:其实就是懒)。 我用的是一个老的Unix工具 AWK,虽然历史比较久远,但是它简洁和丰富的功能可以称之为神器,同时也是后台同学必须要掌握的一个工具, 阅读详情

相关推荐

Linux 三剑客之 awk 实战详解教程

我们知道 Linux 三剑客,它们分别是:grep、sed、awk。在前边已经讲过 grep 和 sed,没看过的同学可以直接点击阅读,今天要分享的是更为强大的 awk。 sed 可以实现非交互式的字符串替换,grep 能够实现有效的过滤功能。与两者相比,awk 是一款强大的文本分析工具,在对数据分析并生成报告时,显得尤为强悍。 awk 强大的功能,是一般 Linux 命令无法比拟的。在本文中,我不会告诉你 awk 也是一种编程语言,免得会吓到你。我们只需把它当做 Linux 下一款强大的文本分析工具即可

687

awk使用

linux里面的awk命令

xiaoliu的博客 3097

awk基本用法、awk应用案例及综合脚本

如果要输出到屏幕可以使用命令awk '{a[$1]++}END{print a["abc"]}' shu.txt。按照awk逐行处理的工作特点使用awk '{a[$1]++}' shu.txt 走完每一行得到下列结果。准备一个文档,里面有6行,每行分别是abc、xyz、abc、opq、xyz、abc 然后。用法格式:BEGIN{ 任务1 }{ 任务2 }END{ 任务3 }BEGIN任务 执行1次,读取文档之前执行。END任务 执行1次,读取文档之后执行。

bsqsb的博客 2552

awk入门教程

awk不仅是一个数据处理工具,而且是一门解释性的编程语言。它提供了十分强大的功能:支持流程控制、数学运算符,内置函数等。但是大多数时候

a549654065的博客 1826

AWK命令的使用方法

AWK命令使用指南:1.默认输出整行($0)或指定列($1);2.使用{}定义动作块,BEGIN/END进行预处理和后处理;3.支持多种匹配方式:字段匹配、范围匹配、复合条件、行号匹配等;4.常用选项:-F指定分隔符,-v定义变量;5.内置变量说明:$0整行、NR行号、NF字段数等;6.注意事项:变量名需大写,print语法区分列与数值输出。本文详细介绍了AWK的基本语法和实用技巧,适用于文本处理场景。

2201_75486314的博客 1134

awk if 使用方法

awk if 使用方法 例如筛选tcp中接受或发送的有堆积的链接情况:$ netstat -tanp | awk '{if ($2 > 0 || $3 > 0) print $0}' Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp

大叶子不小的博客 1468

awk使用方法笔记

 awk 最基本的功能是在输入文件中按行匹配指定的字符串格式,如果匹配则将当前行复制到缓冲区进行进一步处理,但并不改变输入文件本身。awk匹配每一行(称为Record)后,使用默认或指定的分割符自动将其分割为若干段(称为Field),每一段可使用 $number 进行引用和访问。其中段号0对应整个Record的内容。处理完成每一行后继续读入下一行进行处理。

Live and Learn 1142

awk使用方法

awk 使用方法 awk ‘{pattern + action}’ {filenames} 尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令。花括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。 pattern就是要表示的正则表达式,用斜杠括起来。 awk语言的最基本...

weixin_40083227的博客 474

awk 使用方法

一、awk说明 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 使用方法awk ‘{pattern + action}’ {filenames} 说明:其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令,括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令

qq_41755706的博客 432

LinuxAWK命令使用方法

擅长按列处理结构化数据(如日志、CSV)。它以逐行方式处理文本,支持条件过滤、计算、格式化输出等。AWK 是文本处理的瑞士军刀,掌握后可高效处理日志、报表等结构化数据。查阅完整文档,可进一步探索其高级功能(如多维数组、位操作等)。是 Linux 下功能强大的。

weixin_46866349的博客 1402

shell脚本的awk使用方法详解

awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 awk命令形式: awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file [-F|-f|-v] 大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value...

demo的博客 2287

详解 awk 工具的使用方法

awk 是一个强大的文本分析工具。它不仅是 Linux 中,也是任何环境中现有的功能最强大的数据处理引擎之一。相对于 grep 的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。 当你第一次拿起双手在电脑上使用 awk 命令处理一个或者多个文件的时候,它会依次读取文件的每一行内容, 然后对其进行处理,awk 命令默认从 stdio 标准输入获取文件内容, awk 使用

ZHAICAN的专栏 550

AWK使用方法总结

1. awk最基本的功能是在输入文件中按行匹配指定的字符串格式,如果匹配则将当前行复制到缓冲区进行进一步处理,但并不改变输入文件本身。awk匹配每一行(称为Record)后,使用默认或指定的分割符自动将其分割为若干段(称为Field),每一段可使用$number进行引用和访问。其中段号0对应整个Record的内容。处理完成每一行后继续读入下一行进行处理。 awk命令的一般格式为 awk

dxm2025的专栏 329

AWK使用方法

转载,非原创 https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawkAWK 的 GNU 版本。 awk其名称得自于它的

weixin_43461612的博客 358

AWK使用方法

一.基础知识 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawkAWK 的 GNU 版本。 awk其名称得自于它的创始人 Alfred

csdn066的博客 545

awk使用方法

简介   awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。   awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawkAWK 的 GNU 版本。   awk其名称得自于它的创始人 Alfr

一切是我的成就感 516

awk工具使用方法及案例

awk是功能强大的编辑工具,在无交互的情况下实现复杂的文本操作。它是专门为文本处理设计的编程语言,也是处理软件,通常用于扫描、过滤、统计汇总工作,数据可以来自标准输入也可以是管道或文件。...

qq_44239779的博客 939
上一篇: sed的使用详解
下一篇: Here Document免交互
糖果剑客
博客等级 码龄6年 95粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值