linux里awk命令,linux常用命令awk

linux里awk命令,linux常用命令awk,详解Linux中的awk命令

Awk是一个强大的文本分析工具。与grep搜索和sed编辑相比,awk在分析数据和生成报告时特别强大。本文主要介绍Linux中awk命令的相关知识,有需要的朋友可以参考一下。

简介

Awk是一个强大的文本分析工具。与grep搜索和sed编辑相比,awk在分析数据和生成报告时特别强大。简单来说,awk就是逐行读取文件,以空格为默认分隔符对每一行进行切片,然后对切割的部分进行分析。

awk有三个不同的版本:awk、nawk和gawk,在没有特别说明的情况下一般简称为gawk。gawk是GNU版的awk。

Awk的名字来源于其创始人阿尔弗雷德艾侯、彼得温伯格和布莱恩柯尼根的姓名首字母。实际上,AWK确实有自己的语言:AWK编程语言,它被三位创始人正式定义为“风格扫描和处理语言”。它允许你创建简短的程序来读取输入文件、分类数据、处理数据、对输入进行计算、生成报告等功能。

一、选项参数说明

Awk是一种处理文本文件的语言。我们可以使用awk - help来检查其选项参数,如下所示:

二、基本用法

1.行匹配语句,这里awk只能跟单引号,格式如下:

awk“{ matched content }”匹配的文件名

例如:

现有的测试文件测试如下:

使用以下命令输出文本中每行的第1项和第4项:

awk“{打印$1,$4}”测试

您还可以添加以下内容,使其成为打印格式:

awk“{ printf ' %-8s %-10s \ n ',$1,$4}”测试

2.指定分隔符

awk“{ printf ' %-8s %-10s \ n ',$1,$4}”测试

例如:

有以下测试文件:

执行以下命令以逗号输出每行的第一项和第二项:

awk -F,' {打印$1,$2} '测试

您也可以使用以下格式的内置变量:

awk 'BEGIN{FS=',' } {print $1,$2} '测试

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

awk -F '[,]' ' {打印$1,$2,$4} '测试

3.设置变量

awk -v

例如:

以下数据可用:

执行以下命令,将每行的第一项加1:

awk-va=1“{打印$1,$1 a}”测试

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

awk-va=1-VB=s ' {打印$1,$1 a,$1b} '测试

4.通过awk脚本运行awk命令。

Awk -f awk脚本文件名

例如:

awk -f文件. awk测试

三、运算符

例如:

1.筛选第一列大于2的行

awk ' 12美元'测试

2.筛选等于2的列。

awk '$1==2 {print $1,$3} '测试

3.筛选第一列大于2且第二列等于Are的行。

awk '$12 $2=='是' {打印$1,$2,$3} '测试

四、内建变量

例如:

' awk ' BEGIN { printf ' % 4s % 4s % 4s % 4s % 4s % 4s % 4s % 4s \ n ','文件名',' ARGC ',' FNR ',' FS ',' NF ',' NR ',' OFS ',' ORS ',' RS ';printf '-\ n ' } { printf ' % 4s % 4s % 4s % 4s % 4s % 4s % 4s % 4s % 4s \ n ',文件名,ARGC,FNR,FS,NF,NR,OFS,ORS,RS} '测试

awk-F \ ' ' BEGIN { printf ' % 4s % 4s % 4s % 4s % 4s % 4s % 4s % 4s \ n ','文件名',' ARGC ',' FNR ',' FS ',' NF ',' NR ',' OFS ',' ORS ',' RS ';printf '-\ n ' } { printf ' % 4s % 4s % 4s % 4s % 4s % 4s % 4s % 4s % 4s \ n ',文件名,ARGC,FNR,FS,NF,NR,OFS,ORS,RS} '测试

awk“{打印数量,FNR,$1,$2,$3}”测试

awk“{ print $ 1,$2,$ 5 }”OFS=“$”测试

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

例如:

1.输出包含“th”的第二列,并打印第二和第四列。

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

~表示模式的开始,匹配的模式存储在//。

2.输出包含“re”的行

awk '/re/'测试

六、忽略大小写

awk 'BEGIN{IGNORECASE=1} /this/'测试

七、模式取反

两美元!~ /th/{print $2,$4} '测试

啊!/th/{print $2,$4}测试

八、awk脚本

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

(1)开始{执行前存储语句};

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

例如:

现有数据如下:

我们的awk脚本如下:

执行结果如下:

总结

以上是边肖介绍的Linux中的awk命令。希望对你有帮助。如果您有任何问题,请给我留言,边肖将及时回复您。非常感谢您对我们网站的支持!

如果你觉得这篇文章对你有帮助,请转载,请注明出处,谢谢!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • linux里awk命令,linux常用命令awk,详解Linux中的awk命令
  • linux的chmod命令,linux常用命令chmod的使用
  • linux常见基本命令与用法大全图片,linux常用命令详解和用法
  • linux常见基本命令与用法大全图片,linux常用命令详解和用法,Linux常见基本命令与用法大全
  • linux常用命令echo,linux echo 命令
  • linux常用命令echo,linux echo 命令,Linux echo命令的使用及三种实现方式
  • linux常用命令cp使用例子,linux cp命令用法,Linux 的cp命令及示例详解
  • linux中如何查看ip,linux常用命令查看ip,Linux查看ip的实例方法
  • linux which命令详解,linux常用命令which
  • linux which命令详解,linux常用命令which,Linux which命令的具体使用
  • ,,Linux常用命令之chmod修改文件权限777和754
  • linux常用命令rm -f,linux rm -rf命令详解
  • linux查看系统进程的命令,linux常用命令 查看进程
  • linux常用命令sed,linux中sed是什么意思
  • linux常用命令复制粘贴,linux 复制粘贴命令
  • 留言与评论(共有 条评论)
       
    验证码: