我的编程空间,编程开发者的网络收藏夹
学习永远不晚

详解Linux中的awk命令

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

详解Linux中的awk命令

简介

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

awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。

awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。

一、选项参数说明

awk是一种处理文本文件的语言,我们可以使用awk --help查看一下它的选项参数,如下:

二、基本用法

1、行匹配语句,此处awk后只能跟单引号,格式如下:


awk '{匹配的内容}' 匹配的文件名称

例如:

现有如下测试文件test:

使用如下命令输出文中每行的1、4项内容:


awk '{print $1,$4}' test

也可以添加如下内容使其格式化输出:

awk '{printf "%-8s %-10s\n",$1,$4}' test 

2、指定分隔符


awk '{printf "%-8s %-10s\n",$1,$4}' test 

例如:

有如下test文件:

执行如下命令,使用逗号分割输出每行的第一、二项内容:


awk -F, '{print $1,$2}' test

也可以使用内建变量,格式如下:


 awk 'BEGIN{FS=","} {print $1,$2}' test

对于使用多个分隔符,首先使用空格分割,然后再使用其他分割符进行分割:


awk -F '[ ,]' '{print $1,$2,$4}' test

3、设置变量


awk -v

例如:

现有如下数据:

执行如下命令,每行第ZrKDewe一项加1:


awk -va=1 '{print $1,$1+a}' test

也可以使用如下命令设置多个变量:


awk -va=1 -vb=s '{print $1,$1+a,$1b}' test

4、通过awk脚本来运行awk命令


awk -f awk脚本 文件名

例如:


awk -f file.awk test

三、运算符

例如:

1、过滤第一列大于2的行


awk '$1>2' test

2、过滤等于2的列


awk '$1==2 {print $1,$3}' test

3、过滤第一列大于2并且第二列等于Are的行


awk '$1>2 && $2=="Are" {print $1,$2,$3}' test

四、内建变量

例如:


awk 'BEGIN{printf "%4s %4s %4s %4s %4s %4s %4s %4s %4s\n","FILENAME","ARGC","FNR","FS","NF","NR","OFS","ORS","RS";printf "---------------------------------------------\n"} {printf "%4s %4s %4s %4s %4s %4s %4s %4s %4s\n",FILENAME,ARGC,FNR,FS,NF,NR,OFS,ORS,RS}' test


awk -F\' 'BEGIN{printf "%4s %4s %4s %4s %4s %4s %4s %4s %4s\n","FILENAME","ARGC","FNR","FS","NF","NR","OFS","ORS","RS";printf "---------------------------------------------\n"} {printf "%4s %4s %4s %4s %4s %4s %4s %4s %4s\n",FILENAME,ARGC,FNR,FS,NF,NR,OFS,ORS,RS}' test


awk '{print NR,FNR,$1,$2,$3}' test


awk '{print $1,$2,$5}' OFS=" $ " test

五、使用正则,字符串匹配

例如:

1、输出第二列包含“th”并打印第二列与第四列。


awk '$2 ~ /th/ {print $2,$4}' test

~表示模式开始,//中存放匹配的模式。

2、输出包含“re”的行


awk '/re/ ' test

六、忽略大小写


awk 'BEGIN{IGNORECASE=1} /this/' test

七、模式取反


awk '$2 !~ /th/ {print $2,$4}' test


awk '!/th/ {print $2,$4}' test

八、awk脚本

关于awk脚本,需要注意BEGIN和END两个关键词:

(1)BEGIN{存放执行前的语句};

(2)END{存放处理完所有的行后要执行的语句}。

例如:

现有数据如下:

我们的awk脚本内容如下:

执行结果如下:

总结

以上所述是小编给大家介绍的linux中的awk命令,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

详解Linux中的awk命令

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

详解Linux中的awk命令

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk有3个不同版本:
2022-06-04

Linux awk 命令详解

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

Linux中的awk命令全解析

Linux中的awk命令详解,是一种文本处理工具,语法简洁,内置函数丰富。常用命令包括字段命令、比较运算符、逻辑运算符和内置函数。条件语句和循环语句可用于复杂操作。示例包括从日志中提取IP地址、计算CSV文件平均年龄和从XML中提取特定节点值。高级用法还包括自定义函数、数组和正则表达式。awk功能强大,可满足各种文本处理需求。
Linux中的awk命令全解析
2024-04-02

linux awk时间计算脚本及awk命令详解

在linux如果计划时间是个麻烦事, 用awk脚本如下BEGIN {FS=":";OFS=":"}{total_seconds=total_seconds+$3}total_seconds>=60 {total_seconds=total_
2022-06-04

Linux中“awk”命令的用法

Linux中“awk”命令的用法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。awk是一个强大的文本分析工具,简单来说awk就是把文件逐行读入,(空格,制表符)为默认分隔符
2023-06-05

linux中的Awk命令怎么用

这篇文章主要介绍linux中的Awk命令怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Awk 是一个强大的工具,可以执行某些可能由其它常见实用程序(包括 sort)来完成的任务。Awk 是个普遍存在的 Unix
2023-06-16

linux中awk命令怎么用

这篇文章给大家分享的是有关linux中awk命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。awk是一种模式扫描和处理语言,在对数据进行分析处理时,是十分强大的工具。awk [options] patte
2023-06-09

linux中awk命令的使用方法

今天就跟大家聊聊有关linux中awk命令的使用方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。awk脚本如下BEGIN {FS=":";OFS=":"} {total_secon
2023-06-09

如何使用Linux中的awk命令

这篇文章主要介绍了如何使用Linux中的awk命令,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据
2023-06-28

linux中如何使用awk命令

这篇文章将为大家详细讲解有关linux中如何使用awk命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报
2023-06-09

Linux中awk命令的作用是什么

Linux中awk命令的作用是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。什么是Linux系统Linux是一种免费使用和自由传播的类UNIX操作系统,是一
2023-06-09

linux中的awk命令参数有哪些

awk命令的常用参数如下:1. -F:指定输入字段的分隔符,默认为制表符。2. -v:定义一个变量并赋值。3. -f:指定一个包含awk脚本的文件。4. -i:就地修改文件,而不是输出到标准输出。5. -W:指定宽度用于显示输出。6. -O
2023-09-12

怎么在Linux中使用awk命令

怎么在Linux中使用awk命令?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。awk简介 awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberg
2023-06-13

Linux系统中awk命令怎么用

这篇文章给大家分享的是有关Linux系统中awk命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Awk是Linux命令三剑客之一,在linux中主要对文件格式化输出,在日志和文本中对数据进行格式化处理。a
2023-06-28

Linux的awk命令怎么使用

今天小编给大家分享一下Linux的awk命令怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。awk是一款文本分析工具a
2023-06-28

Linux中Awk命令的五个常见用法

Awk命令还提供了许多内置函数,可以用于字符串操作、数学计算等。下面的例子演示了如何使用内置函数计算文件中所有数字的总和。
linuxAwk2024-11-30

编程热搜

目录