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 ...
随机推荐
- requests的再次学习
title: requests模块的再次理解 date: 2020-03-10 22:44:26 tags: 1.response的解析 当requests模块发送请求后,我们会对其响应的数据也就是r ...
- 读github,deepfm,pytorch源码 记录
代码:https://github.com/chenxijun1029/DeepFM_with_PyTorch 2020/12/2首先是数据预处理文件:dataPreprocess.py1. 源数据集 ...
- AcWing 345. 牛站 Cow Relays
由于我太菜了,不会矩阵乘法,所以给同样不会矩阵乘法同学的福利 首先发现这题点很多边很少,实际上有用的点 \(<= 2 * T\)(因为每条边会触及两个点嘛) 所以我们可以把点的范围缩到 \(2 ...
- 【AtCoder AGC023F】01 on Tree(贪心)
Description 给定一颗 \(n\) 个结点的树,每个点有一个点权 \(v\).点权只可能为 \(0\) 或 \(1\). 现有一个空数列,每次可以向数列尾部添加一个点 \(i\) 的点权 \ ...
- MySQL技术内幕InnoDB存储引擎(四)——表相关
表是什么? 就是关于特定实体地数据集合,是关系型数据库模型地核心. 索引组织表 什么是索引组织表? 表中数据都是根据主键的顺序组织存放的,这种存储方式就是索引组织表.就是存储在一个索引结构中的表. 也 ...
- pymysql出现的问题
pymysql的使用bug 每次执行sql语句(增删改查)必须commit提交 当重复执行相同slq语句时,如果不commit,fetchall的结果会是上次执行的结果 或者打开pymysql的自动提 ...
- SpringBoot + Mybatis-Plus 实现多数据源简单示例
1. 简介 在单体项目中,经常出现想要访问多个数据源的情况,或者因为某些性能瓶颈,将大数据量的业务表分离到另一个库等情况. 实现多数据源的方案有很多,Mybatis-Plus提供了非常简单的实 ...
- 设置非root账号不用sudo直接执行docker命令
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 记录一次mac访问Windows共享目录失败
一,起因 起因,有人联系我说他们的mac电脑连接不上Windows的共享目录,Windows的电脑连接正常,没有报错,连接框抖两下就没了 二,排查问题 1,我自己想mstsc登陆服务器看看,结果服务器 ...
- vue 重置data
Object.assign(this.$data, this.$options.data())