一、基本用法

文本内容准备

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基本语法命令总结的更多相关文章

  1. Linux:awk与cut命令的区别

    结论:awk 以空格为分割域时,是以单个或多个连续的空格为分隔符的;cut则是以单个空格作为分隔符.

  2. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  3. Linux awk命令详解??????????(研究)

    http://blog.chinaunix.net/uid-25120309-id-3801250.html 一.  AWK 说明  awk是一种编程语言,用于在linux/unix下对文本和数据进行 ...

  4. Linux下的awk文本分析命令详解

    一.简介 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是linux/ ...

  5. Linux awk命令使用方法

    awk是linux上非常好用的文本处理工具,常用于指定列的处理,包括获取指定列的内容.根据指定列匹配关系输出等文本处理.本文主要描述awk命令的基本语法.正则表达式与操作符的使用.常用内置变量的含义和 ...

  6. [转]Linux awk 命令 说明

    From : http://blog.csdn.net/tianlesoftware/article/details/6278273 一.  AWK 说明 awk是一种编程语言,用于在linux/un ...

  7. Linux下grep、tail、wc、awk文件处理命令

    grep Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并匹配行打印出来. 命令语法: usage: grep [-abcDEFGHhIiJLlmnOoqRSsUV ...

  8. 转:Linux awk 命令 说明

    一.  AWK 说明 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是 ...

  9. Linux awk 命令 说明

    一. AWK 说明 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是l ...

随机推荐

  1. 第15.25节 PyQt(Python+Qt)入门学习:Model/View开发实战--使用QTableView展示Excel文件内容

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 在前面的订阅专栏<第十九章.Model/View开发:QTableView的功能及属 ...

  2. PyQt(Python+Qt)学习随笔:Qt Designer中部件的样式表styleSheet属性

    styleSheet属性是定义部件外观的属性样式表,在Qt中styleSheet样式表是类似于html的css样式一样的方法,只是时专门为Qt中的部件开发的.styleSheet的定义语法也是类似CS ...

  3. Scrum冲刺_Day02

    一.团队展示: 1.项目:light_note备忘录 2.队名:删库跑路队 3.团队成员 队员(不分先后) 项目角色 黄敦鸿 后端工程师.测试 黄华 后端工程师.测试 黄骏鹏 后端工程师.测试 黄源钦 ...

  4. 【Alpha冲刺阶段】Day 7

    [Alpha冲刺阶段]Scrum Meeting Daily7 1.会议简述 会议开展时间 2020/5/28   8:00-8:30 PM 会议基本内容摘要 讨论合并测试问题 参与讨论人员 项目全体 ...

  5. 【题解】Railway [Uva10263]

    [题解]Railway [Uva10263] 传送门:\(\text{Railway [Uva10263]}\) [题目描述] 给出点 \(M\) 以及一个由 \(n\) 条线段依次相连的类曲形图(由 ...

  6. CSP-S2020 浙江 游记

    2020.10.9 今天是 \(2020\) 年 \(10\) 月 \(9\) 日,距离初赛还有两天(算两天吗,完整的应该只有一天多了). 原本对于比赛还是没什么感觉的,每天做做题,水水文章,感觉时间 ...

  7. HBuilder云端打包+个推

    1.个推上登记应用. 应用名称和应用标识,在HBuilder的云端打包配置中获取. 应用证书:必需要有苹果开发者账号,并且加入了"iOS Developer Program".加入 ...

  8. python协程需要注意的

    python协程需要注意的点 都在注释里 # -*- coding: utf-8 -*- import asyncio import time from geeker import schedule ...

  9. gitignore文件

    gitignore文件 python .gitignore .idea/ *.bak test* logs/ *.log # *.txt # Byte-compiled / optimized / D ...

  10. SpringBoot基于JustAuth实现第三方授权登录

    1. 简介   随着科技时代日渐繁荣,越来越多的应用融入我们的生活.不同的应用系统不同的用户密码,造成了极差的用户体验.要是能使用常见的应用账号实现全应用的认证登录,将会更加促进应用产品的推广,为生活 ...