Linux   发布时间:2022-05-08  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux awk基本语法命令总结大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

一、基本用法

文本内容准备

2 this is a test
3 Are you like awk
Thiss a test
10 There are orange,apple,mongo

用法一:行匹配语句awk ‘‘只能使用单引号

例:每行按空格或TAB分割,输出文本中的1、4项

[[email protected] mnt]# cat log.txt |awk {print $1,$4}
2 a
3 like
Thiss 
10 orange,mongo
格式化输出

[[email protected] mnt]# cat log.txt |awk ‘{printf "%-8s %-10s\n",$1,$4}‘
2 a
3 like
This‘s
10 orange,mongo

用法二:-F,指定分隔符

[[email protected] mnt]# cat log.txt |awk -F , {print $1,$2}
2 this is a test 
3 Are you like awk 
Thiss a test 
10 There are orange apple

或者使用内建表

[[email protected] mnt]# cat log.txt |awk ‘BEGIN{FS=","} {print $1,$2}
2 this is a test
3 Are you like awk
This‘s a test
10 There are orange apple

#使用多个分隔符,先使用空格分割,然后对分割结果再使用“,”分割

[[email protected] mnt]# cat log.txt |awk -F ‘[,]‘ ‘{print $1,$2,$5}‘
2 this test
3 Are awk
This‘s a
10 There apple

用法三:awk -v #设置变量

[[email protected] mnt]# cat log.txt |awk -va=1 -vb=s -vc=w {print $1,$1+a,$1b,$1c}
2 3 2s 2w
3 4 3s 3w
Thiss 1 Thisss Thissw
10 11 10s 10w

[[email protected] mnt]# cat log.txt |awk -va=1 ‘{print $1,$1+a}‘
2 3
3 4
This‘s 1
10 11

用法四:awk -f {awk脚本} {文件名}

过滤第一列大于2的行
[[email protected] mnt]# cat log.txt |awk $1>2 3 Are you like awk Thiss a test 10 There are orange,mongo
过滤第一列等于2的行

[[email protected] mnt]# cat log.txt |awk ‘$1==2 {print $1,$2}
2 this

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

[[email protected] mnt]# cat log.txt |awk ‘$1>2 && $2=="Are" {print $1,$2}
3 Are

用法五:指定输出分割符

[[email protected] mnt]# cat log.txt |awk {print $1,$5} OFS=";" 
2;this;test
3;Are;awk
Thiss;a;
10;There;

用法六:正则字符串匹配

输出第二列包含“th” ,并打印第二列与第四列
[[email protected] mnt]# cat log.txt  |awk $2 ~ /th/ {print $2,$4}
this a

~表示模式匹配。//中是匹配的字符串

用法七:忽略大小写

[[email protected] mnt]# cat log.txt |awk BEGIN{IGNORECASE=1} /THIS/ 
2 this is a test
Thiss a test

用法八:模式取反

输出第二列不包含"th"的行的第二列和第四列
[[email protected] mnt]# cat log.txt |awk $2 !~ /th/ {print $2,$4}
Are like
a 
There orange,mongo
等同于

[[email protected] mnt]# cat log.txt |awk ‘!/th/ {print $2,$4}‘Are likea There orange,mongo

大佬总结

以上是大佬教程为你收集整理的linux awk基本语法命令总结全部内容,希望文章能够帮你解决linux awk基本语法命令总结所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:apple