linux awk基本语法命令总结
一、基本用法
文本内容准备
2 this is a test
3 Are you like awk
This's a test
10 There are orange,apple,mongo
用法一:行匹配语句awk ‘'只能使用单引号
实例:每行按空格或TAB分割,输出文本中的1、4项
[root@master mnt]# cat log.txt |awk '{print $1,$4}'
2 a
3 like
This's
10 orange,apple,mongo
格式化输出
[root@master mnt]# cat log.txt |awk '{printf "%-8s %-10s\n",$1,$4}'
2 a
3 like
This's
10 orange,apple,mongo
用法二:-F,指定分隔符
[root@master mnt]# cat log.txt |awk -F ',' '{print $1,$2}'
2 this is a test
3 Are you like awk
This's a test
10 There are orange apple
或者使用内建表量
[root@master 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
#使用多个分隔符,先使用空格分割,然后对分割结果再使用“,”分割
[root@master mnt]# cat log.txt |awk -F '[ ,]' '{print $1,$2,$5}'
2 this test
3 Are awk
This's a
10 There apple
用法三:awk -v #设置变量
[root@master 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
This's 1 This'ss This'sw
10 11 10s 10w
[root@master mnt]# cat log.txt |awk -va=1 '{print $1,$1+a}'
2 3
3 4
This's 1
10 11
用法四:awk -f {awk脚本} {文件名}
过滤第一列大于2的行
[root@master mnt]# cat log.txt |awk '$1>2'
3 Are you like awk
This's a test
10 There are orange,apple,mongo
过滤第一列等于2的行
[root@master mnt]# cat log.txt |awk '$1==2 {print $1,$2}'
2 this
过滤第一列大于2并且第二列等于'Are'的行
[root@master mnt]# cat log.txt |awk '$1>2 && $2=="Are" {print $1,$2}'
3 Are
用法五:指定输出分割符
[root@master mnt]# cat log.txt |awk '{print $1,$2,$5}' OFS=";"
2;this;test
3;Are;awk
This's;a;
10;There;
用法六:正则字符串匹配
输出第二列包含“th” ,并打印第二列与第四列
[root@master mnt]# cat log.txt |awk '$2 ~ /th/ {print $2,$4}'
this a
~表示模式匹配。//中是匹配的字符串
用法七:忽略大小写
[root@master mnt]# cat log.txt |awk 'BEGIN{IGNORECASE=1} /THIS/ '
2 this is a test
This's a test
用法八:模式取反
输出第二列不包含"th"的行的第二列和第四列
[root@master mnt]# cat log.txt |awk '$2 !~ /th/ {print $2,$4}'
Are like
a
There orange,apple,mongo
等同于
[root@master mnt]# cat log.txt |awk '!/th/ {print $2,$4}'
Are like
a
There orange,apple,mongo
linux awk基本语法命令总结的更多相关文章
- Linux:awk与cut命令的区别
结论:awk 以空格为分割域时,是以单个或多个连续的空格为分隔符的;cut则是以单个空格作为分隔符.
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- Linux awk命令详解??????????(研究)
http://blog.chinaunix.net/uid-25120309-id-3801250.html 一. AWK 说明 awk是一种编程语言,用于在linux/unix下对文本和数据进行 ...
- Linux下的awk文本分析命令详解
一.简介 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是linux/ ...
- Linux awk命令使用方法
awk是linux上非常好用的文本处理工具,常用于指定列的处理,包括获取指定列的内容.根据指定列匹配关系输出等文本处理.本文主要描述awk命令的基本语法.正则表达式与操作符的使用.常用内置变量的含义和 ...
- [转]Linux awk 命令 说明
From : http://blog.csdn.net/tianlesoftware/article/details/6278273 一. AWK 说明 awk是一种编程语言,用于在linux/un ...
- Linux下grep、tail、wc、awk文件处理命令
grep Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并匹配行打印出来. 命令语法: usage: grep [-abcDEFGHhIiJLlmnOoqRSsUV ...
- 转:Linux awk 命令 说明
一. AWK 说明 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是 ...
- Linux awk 命令 说明
一. AWK 说明 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是l ...
随机推荐
- CNVD漏洞证书(2)
第二张CNVD的原创漏洞证书. 关于证书申请可以看我之前写的这篇博客: https://www.cnblogs.com/Cl0ud/p/12720413.html 继续加油
- Markdown 公式指导手册
本文为 Markdown 环境下的常用语法指引.Typora 编辑阅读器支持 \(\LaTeX\) 编辑显示支持,例如:\(\sum_{i=1}^n a_i=0\),访问 MathJax 以参考更多使 ...
- P1654 OSU! 题解
\(x\) 为该位置有 \(1\) 的期望. 统计两个值 : \(suma\) 和 \(sumb\). \(suma\) 表示连续 \(X\) 个 \(1\) , \(X\) 的平方的期望, \(su ...
- 函数动态参数 *args **kwargs
def f1(*args,**kwargs): print(args,type(args)) print(kwargs,type(kwargs))li = [11,22,33]dic = {'k1': ...
- sqlplus、lsnrctl命令工具不可用(libclntsh.so.11.1)
原因: libclntsh.so.11.1文件丢失了 解决方法: 在其他机器把这个文件拷贝到目标库安装目录底下的lib目录即可
- Asp.net core验证类ModelStateDictionary的bug
在使用.net core 3.1 时发现明明没有验证请求类属性,甚至已经加了默认值 但是验证类时依然会报错 经过网上百度等搜索,尝试使用可空类型赋值默认值 果然验证类没有报错 不清楚是微软的bug还是 ...
- Jmeter +Maven+jenkins+eclipse 接口自动化测试
背景: 首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github,在jenkins配置git下载性能测试的代码,配置运行脚本和测试报告,配置运行失败自 ...
- Linux查看、开启、关闭防火墙操作
一.防火墙区别 CentOS6自带的防火墙是iptables,CentOS7自带的防火墙是firewall. iptables:用于过滤数据包,属于网络层防火墙. firewall:底层还是使用 ip ...
- css进阶 03-网页设计和开发中,关于字体的常识
03-网页设计和开发中,关于字体的常识 #前言 我周围的码农当中,有很多是技术大神,却常常被字体这种简单的东西所困扰. 这篇文章,我们来讲一讲关于字体的常识.这些常识所涉及到的问题,有很强的可操作性, ...
- angular8 大地老师学习笔记
第一课: angular 创建项目命令: ng new 项目名称 创建组件: ng g 可查看所有创建的对象 ,ng g component components/home 创建组件,后面跟的是 ...