文档目录:

一、grep:文本过滤工具

二、sed:字符流编辑器

三、awk:文本分析工具

---------------------------------------分割线:正文--------------------------------------------------------

一、grep:文本过滤工具

1、grep -v '123' test3 #过滤不包含123的行

2、grep -n '123' test3 #过滤包含123的行并输出行号

3、grep -i 'AbC' test3 #过滤含abc的行并不区分大小写

4、grep -Ei 'abc|123' test3  #同事过滤两个不同的字符串并为过滤的内容颜色显示,并不显示大小写

5、grep -c 123 test3  #匹配的字符串的数量

6、grep -o -n 123 test3  #只输出匹配的内容

7、grep -w 123 test3 #全词匹配123

8、grep -Ev '^$|#' test3 #去除文本中的^$空行 以及 #注释

二、sed:字符流编辑器

预置测试文本:

1、sed '2a 102_1 xiaowang,CSO' test4.txt #2a,第2行后增加,实际文件并不增加

2、sed '2i 102_1 xiaowang,CSO' test4.txt #2i,第2行前增加,实际文件并不增加

3、sed '2a 102_1 xiaowang,CSO\n102_2 xiaohuang,PMP' test4.txt #2a,第2行后增加2行文本

4、sed 2d test4.txt #删除第二行文本

5、sed 2,5d test4.txt #删除2-5行文本

6、sed s#white#black#g test4.txt #替换白为黑

7、sed -n '2p' test4.txt #n取消默认输出,2p查询出指定行

8、sed -i '2a 102_1 haha,TSE' test4.txt #-i直接更改文件

三、awk:文本分析工具

1、awk NR==2 test4.txt #输出第2行命令

2、awk NR==2,NR==5 test4.txt #输出第2-5行命令

3、awk '{print NR,$0}' test4.txt #awk'墙 显示 行号和这一行的内容 墙'

4、awk 'NR==2,NR==5 {print NR,$0}' test4.txt #显示第2行到第6行,并且打印行号

5、awk -F ',' '{print $1,$3}' test4.txt #打印逗号分割的第1列和第3列,$0代表整行

6、awk '{gsub('10','100',$0);print $0}' test4.txt #使用gsub替换10为100

7、ifconfig ens33 | awk -F 'inet | netmask ' 'NR==2{print $2}' #两把菜刀分割inet与netmask取得$2第二部分内容,并取第二行的分割结果

8、ifconfig ens33 | awk -F '[ ]+' 'NR==2{print $3}' #正则表达式[ ]+表示以单个或多个空格分割,完了取第三部分内容

9、awk -F '/' '{print $3}' test5.txt #以/分割并取出第三部分内容

10、awk -F '/' '{print $3}' test5.txt|sort  #以/分割并取出第三部分内容,并排序,结合sort

11、awk -F '/' '{print $3}' test5.txt|sort|uniq -c #去重计数,结合uniq

12、awk -F '/' '{hotel[$3]++}END{for(domain in hotel)print domain,hotel[domain]}' test5.txt #通过awk创建数组并通过循环来实现去重统计

Liunx运维(四)-文本处理三剑客:grep、sed、awk的更多相关文章

  1. Linux三剑客grep/sed/awk

    grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color ...

  2. linux三剑客grep|sed|awk实践

    最好先学习正则表达式的基本用法,以及正则表达式BREs,EREs,PREs的区别 此坑待填 grep sed awk

  3. 【Linux】 字符串和文本处理工具 grep & sed & awk

    Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep ...

  4. Linux三剑客grep、awk和sed

    grep,sed 和 awk是Linux/Unix 系统中常用的三个文本处理的命令行工具,称为文本处理三剑客.本文将简要介绍这三个命令并给出基本用法. 管道 在介绍这两个命令之前,有必要介绍一下Uni ...

  5. 文本处理三剑客之sed命令

    第十八章.文本处理三剑客之sed命令 目录 sed介绍 sed命令常用选项 sed常用编辑命令 sed使用示例 sed高级语法 18.1.sed简介 sed全名stream editor,流编辑器,s ...

  6. day60:Linux压缩与打包&用户管理&用户提权sudo&grep,sed,awk,sort,uniq

    目录 1.文件管理-压缩与打包 2.用户管理 用户怎么查 如何创建用户 创建的用户信息都存储在哪? 用户存储密码的文件 如何为用户设定密码? 3.用户组 4.用户提权相关 5.Extra:额外补充 文 ...

  7. Linux运维四:文件属性及文件权限

    一:文件属性 我们使用ls -lhi命令来查看文件时,会列出一堆的文件属性,如: [root@Gin day7]# ll -hi total 7.8M 260674 -rw-r--r-- 1 root ...

  8. 【linux】【jenkins】自动化运维四 整合gitlab、docker发布java项目

    jenkins发布java项目 过程参考发布vue项目.https://www.cnblogs.com/jxd283465/p/11543431.html 大同小异. vue建立的是Freestyle ...

  9. 文本处理三剑客之 Sed ——一般编辑命令

    sed简介 sed (stream editor for filtering and transforming text) 是Linux上的文本处理三剑客之一,另外两个是grep和awk. sed又称 ...

  10. Linux文本处理三剑客之sed

    推荐新手阅读[酷壳]或[骏马金龙]开篇的教程作为入门.骏马兄后面的文章以及官方英文文档较难. [酷壳]:https://coolshell.cn/articles/9104.html [骏马金龙-博客 ...

随机推荐

  1. 带圆角的虚线边框?CSS 不在话下

    今天,我们来看这么一个非常常见的切图场景,我们需要一个带圆角的虚线边框,像是这样: 这个我们使用 CSS 还是可以轻松解决的,代码也很简单,核心代码: div { border-radius: 25p ...

  2. 万界星空科技服装行业mes解决方案

      服装行业MES特色 企业透过全球供应链网络掌握实时的订单进度信息来实现电子商务排除生产现场自动化"孤岛",建立起业务计划层到控制层的桥梁,JIT库存管理与看板管理.精益生产与敏 ...

  3. DBeaver连接国产数据库OceanBase,以及Python连接,解决ModuleNotFoundError: No module named '_jpype'

    DBeaver连接OceanBase 参考:https://www.modb.pro/db/365929 用户名的格式为: 数据库用户名@租户名#集群名 Python连接OceanBase 参考:ht ...

  4. 本地tomcat设置外网访问

    将host name中的localhost修改为自己电脑的IP地址,具体的IP地址可以在控制面板的网络和共享中心中进行查看, 打开tomcat的conf文件夹下的server.xml文件,将local ...

  5. System类的方法

    1.exit() 2.currentTimeMills() 代码练习

  6. vue音频(监听播放完成)

    <template> <div> <audio ref="audio" :src="audioSrc"></audio ...

  7. vue遮罩层

    <template> <div class="hello"> <button @click="toggleModal">打开 ...

  8. Linux系统快速入门(完整版)

    LINUX基础知识 I.Linux概述 linux是啥? 一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的Un ...

  9. 大道如青天,协程来通信,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang通道channel的使用EP14

    众所周知,Go lang的作用域相对严格,数据之间的通信往往要依靠参数的传递,但如果想在多个协程任务中间做数据通信,就需要通道(channel)的参与,我们可以把数据封装成一个对象,然后把这个对象的指 ...

  10. Redis核心技术与实战

    最近在读一篇关于Redis的专栏,叫做<Redis核心技术与实战>,作者在Redis方面研究颇深,读后非常受益,特在此做记录. 一.Redis基础 1)知识图和问题画像图 Redis知识全 ...