文档章节

Linux学习-10月18(awk)

w
 wxy丶
发布于 2018/10/22 11:51
字数 673
阅读 12
收藏 2

9.6/9.7 awk

 

一、awk简介

   1. awk是一种编程语言,用于对文本和数据进行处理的

   2. 具有强大的文本格式化能力

   3. 利用命令awk,可以将一些文本整理成为我们想要的样子

   4. 命令awk是逐行进行处理的

    

二、awk使用示例

  • 指定分割符号进行分割:

        awk -F ':' '{print $1}'  passwd

        -F:指定分隔符,如果不指定分隔符默认是以空格或者空白行,作为分割

        $1:表示打印第一段,如果是$2就是打印第二段

        

        多段打印:

        awk -F ':' '{print $1,$3,$5}'  passwd 

        

        打印全部行:

        awk -F ':' '{print $0}' passwd

        

 

  • awk匹配

        awk '/root/' passwd

        

        awk可以使用正则,并且自带脱意功能,不需要像grep -E 和sed -r 进行脱意

        

        

  •   awk匹配行,并进行分割

          匹配带root的行,并打印第一、第三段

           

  •  awk也支持多个匹配,并进行分割

           匹配带root的行,并打印第一、第三段

           匹配带user的行,并打印第一段、第三段、第四段

           awk -F ':' '/root/ {print $1,$3} /user/ {print $1,$3,$4}' passwd

           

  • 使用正则进行打印匹配root或user行,并打印第一段

        awk -F ':' '/root|user/ {print $1}' passwd

        

  • 使用数学运算匹配

        1、匹配第三段等于0的,这里可以不输入print也会默认打印。

        awk -F ':' '$3==0' passwd

       

        2、匹配第三段大于1000的并指定打印第五段

       

        3、注意的是如果数字中使用了""号,会认为是字符串则会按ascll码进行排序

        

    4、不等于

        匹配第三段不等于4

        awk -F ':' '$3 != 4 {print $4}' passwd 

    5、&&和||

        匹配第三段大于1000,并且第六段等于/home/wxy的

         awk -F ':' '$3>=1000 && $6 =="/home/wxy"' passwd 

        

        awk -F ':' '$3==1000 || $6 =="/home/wxy"' passwd

        

  • awk 内置变量

        1、输出分隔符:OFS

         

    2、NR:显示行数

          

         NR也可以用来做判断,比如说只打印前10行:

            awk -F ':' 'NR <=10 {print NR":" $0}' passwd

        

    3、NF:显示段数

        awk -F ':' '$3 >=1000  {print NF" " $0}' passwd

        

  • awk改变值

       将第一段全部改为root

        awk -F ':' '$1="root"' passwd

        

        赋值后所有的分割符都没了,可以再使用OFS加上:

        awk -F ':' '{OFS=":"} $1="root"' passwd

        

  • awk求和

        统计第三段的相加的总和

        awk -F ':' '{(oto=oto+$3)};END {prin^Coto}' passwd

        

  • awk if判断

        awk -F ':' '{if($1=="root") {print $1}}' passwd 

        

 

 

 

 

 

 

 

 

 

 

    

© 著作权归作者所有

共有 人打赏支持
w
粉丝 10
博文 49
码字总数 42680
作品 0
私信 提问
2016年 10月 06日 星期四 08:43:51 CST

1)版本控制:Git、GitHub 注:推荐这个交互式的 Git 入门资源,号称 15 分钟就够了。 2)正则表达式 注:推荐《55分钟学会正则表达式》 3)awk 译注:《「sed & awk」读书笔记之 awk 》 4)...

四明狂客
2016/10/06
17
0
优麒麟18.10发布派对—郑州大学

在优麒麟(Ubuntu Kylin)研发团队和社区爱好者的共同努力下,优麒麟18.10已于2018年10月19日正式发布。现面向全国的版本发布活动正式启动啦! 本次发布派对以体验、分享和反馈18.10版本为主...

优麒麟操作系统
2018/10/26
0
0
linux下grep分析apache日志的命令集合

linux下grep分析apache日志的命令集合,不可错过的好文章,有了这些命令,秒杀江湖中大部分的apache日志分析。 实例: 月份英文简写英文全称 一月Jan.January 二月Feb.February 三月Mar.Mar...

hmc0316
2013/03/06
0
0
Linux Shell常用技巧(四) awk

九. awk实用功能: 和sed一样,awk也是逐行扫描文件的,从第一行到最后一行,寻找匹配特定模板的行,并在这些行上运行“选择”动作。如果一个模板没有指定动作,这些匹配的行就被显示在屏幕上...

长平狐
2012/08/27
182
0
使用AWK的六个技巧

使用AWK的六个技巧 发表于:2011-1-18 Awk一直是我爱与恨交织的源泉。它是一个功能强大的命令;有了它,建立真正的程序都是有可能的。 本文,你可以用我的六个例子,在你喜欢的终端上感受一下...

xyxzfj
2011/01/19
485
0

没有更多内容

加载失败,请刷新页面

加载更多

刚入职阿里,告诉你真实的职场生活,兼谈P6、P7、P8的等级

一:拿下offer的人,基本上都有什么特征? 二:为什么选择阿里? 三:阿里的工作氛围什么样? 四:阿里的薪资情况? 五:阿里的晋升空间有多大? 最近部门招聘,很多工程师,包括我在内都参与...

java知识分子
26分钟前
2
0

中国龙-扬科
29分钟前
1
0
深入理解定时器系列第一篇——理解setTimeout和setInterval

很长时间以来,定时器一直是javascript动画的核心技术。但是,关于定时器,人们通常只了解如何使用setTimeout()和setInterval(),对它们的内在运行机制并不理解,对于与预想不同的实际运行状...

Jack088
32分钟前
4
0
windows 安装nvm

1、nvw-windows的官网:https://github.com/coreybutler/nvm-windows/releases 2、选择nvm-setup.zip安装 3、配置环境变量 4、检查nvm是否安装成功 使用管理员权限打开一个命令行。输入nvm v...

灰白发
43分钟前
1
0
MySQL

慢日志查询作用 慢日志查询的主要功能就是,记录sql语句中超过设定的时间阈值的查询语句。例如,一条查询sql语句,我们设置的阈值为1s,当这条查询语句的执行时间超过了1s,则将被写入到慢查...

士兵7
44分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部