在介绍三剑客之前,先来认识一下通配符和正则表达式

通配符
    

正则表达式

作用:通过一些特殊字符,来表示一类字符内容

1、字符匹配

  .     任意一个字符

  [ ]   范围内的任意一个字符

  [^ ] 取反

  字符类 [:digit:] [:alnum:] [:alpha:] [:lower:] [:upper:] [:space:] [:punct:]

2、次数匹配

  *    匹配前面的字符0次到多次

  ?  匹配前面的字符0次到1次

  +    匹配前面的字符1次到多次

3、位置锚定

  ^  锚定行首

  $  锚定行尾

  \b  锚定词首和锚定词尾

  \>  锚定词尾

  \<  锚定词首

  <\root\>  匹配root单词

  \{m\}     匹配前面的字符m次

  \{m,n\}  匹配前面的字符m到n次

4、分组

  \(\)

  分组特性:默认清空下,linux系统下回为分组指定变量,变量表示形式\1 \2 \3

day4--文本处理三剑客awk,sed,grep

三剑客用法非常灵活强大,需要在练习中慢慢体会,遂以练习为主。

awk(报告生成器)

     awk作为三剑客的老大,擅长于取列,主要用来做文本输出格式化

     awk在处理文件时是逐行处理的

     在awk中,全部行称为$0,第一个字段称为$1,第二个字段称为$2……

     NR为行号,NF表示最后一行

     BEGIN表示最开始执行,END表示最末尾执行,因为这种特性,BEGIN常常用来赋值

     awk  [选项] [处理命令(脚本)]  [文件]

awk -F 指定输入文件折分隔符
awk -v 赋值一个用户定义变量
awk -f 从脚本文件中读取awk命令

     例1、输出/etc/passwd第一行的第一个域

      

      例2、打印出/etc/passwd的第3个域和第5个域

      

      例3、匹配/var/log/message中,带有erro关键字的相关信息

      

      例4、输出/etc/passwd中文件名,行数,列数,和整行信息     

      awk -F ':' '{print FILENAME, NR , NF ,$0}' /etc/passwd

      例5、使用冒号分隔符,查询最后一列

      

      例6、使用awk输出第一块网卡的ip地址

      

 

sed(流处理器)

    sed作为三剑客的老二,擅长取行,替换和数据搜寻  

    sed [选项] [脚本] [文件]

sed -e 以选项中指定的脚本来处理输入结果
sed -f 以选项中指定的脚本文件来处理输入结果
sed -n 只显示处理后结果
sed -i 替换

    例1、查看/etc/passwd5-10行

      

      这个p代表print打印,同理,d代表delete删除

    例2、搜寻/etc/passwd中有root关键字的行

      

    例3、新建一个文件,并删除2到4行

      

grep(文本行过滤工具)

    grep [option]... PATTERN [FILE]

               PATTERN一般使用两种方法,正则表达式和通配符

    egrep = grep -E 使用扩展的正则表达式进行匹配

    fgrep = fast grep 只使用文件通配符进行匹配

    grep 默认使用正则表达式进行文本匹配

grep -P使用perl语言的正则表达式引擎进行搜索
grep -f指定文件
grep -i 忽略大小写
grep -v反选
grep --color=auto 语法着色
grep -c统计
grep -o输出时仅显示匹配内容(默认输出的是匹配到的行)
grep -n显示行号
grep -w只匹配与整个单词匹配的行

    例1、显示/proc/meminfo文件中大小s开头的行

      

     例2、显示/etc/passwd文件中不以/bin/bash结尾的行

      

     例3、显示/etc/passwd文件中UID最大的用户的用户名

      

    例4、如果用户root存在,显示其默认的shell程序

      

      例5、找出/etc/passwd中的两位或三位数

      

linux100day(day4)--文本处理三剑客的更多相关文章

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

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

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

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

  3. 文本处理三剑客之 grep

    grep简介 grep(Global search REgular expression and Print out the line)是Linux上的文本处理三剑客之一,另外两个是sed和awk. ...

  4. shell脚本之正则表达和文本处理(文本处理三剑客:1、grep 2、sed 3、awk)

    文本处理三剑客:1.grep  2.sed  3.awk 一.grep:(过滤) grep的使用,主要的参数有: -n  :显示行号:-o  :只显示匹配的内容-q  :静默模式,没有任何输出,得用e ...

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

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

  6. Linux文本处理三剑客之grep及正则表达式详解

    Linux文本处理三剑客之grep及正则表达式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux文本处理三剑客概述 grep: 全称:"Global se ...

  7. 关于Linux文本处理“三剑客”的一些小操作。

    Linux文本处理“三剑客”,即grep.sed.awk,这是Linux中最核心 的3个命令. 一.首先做个简单的介绍: 1.awk:linux三剑客老大,过滤,输出内容,一门语言.NR代表行号. 2 ...

  8. Linux文本处理三剑客之——grep

    一Linux文本处理三剑客之——grep Linux文本处理三剑客都支持正则表达式 grep :文本过滤( 模式:pattern) 工具,包括grep, egrep, fgrep (不支持正则表达式) ...

  9. Linux 文本处理三剑客之grep

    文本处理都要使用正则表达式,正则表达式有: 基本正则表达式:grep或者egrep -G 扩展正则表达式:egreo或者grep -E Linux 文本处理三剑客: sed:stream editor ...

  10. 文本处理三剑客与shell正则表达式

    文本处理三剑客 提到对于文本的处理上,除了vim这个强大的编辑器之外,还有使用命令的形式去处理你要处理的文本,而不需要手动打开文本再去编辑.这样做的好处是能够以shell命令的形式将编辑和处理文本的工 ...

随机推荐

  1. 嵊州D2T3 玛利亚∙多斯普拉泽雷斯 完美配对

    嵊州D2T3 玛利亚∙多斯普拉泽雷斯 公墓一共有 n 个墓地,通过 n − 1 条通道相连. 每次,推销员可以在选择一个墓地推销给玛利亚. 但是,考虑很多的玛利亚会尽量否决这个提议. 她会选择一个墓地 ...

  2. Java第四次作业——面向对象高级特性(继承和多态)

    Java第四次作业--面向对象高级特性(继承和多态) (一)学习总结 1.学习使用思维导图对Java面向对象编程的知识点(封装.继承和多态)进行总结. 2.阅读下面程序,分析是否能编译通过?如果不能, ...

  3. py+selenium+IE10【IE已停止工作】【已解决】

    问题:跑自动化时,到某个用例IE就崩,提示已停止工作.   手工跑的时候,IE挂,提示“Internet Explorer 已经为了帮助保护您的计算机而关闭此网页”. 且每次都在需要调用flash插件 ...

  4. 程序员到sql笔记

    1最近准备面试,总结一下之前学过到东西.

  5. Preface Numbering序言页码

    题面 (preface.pas/c/cpp) 一类书的序言是以罗马数字标页码的.传统罗马数字用单个字母表示特定的数值,以下是标准数字表: I 1 V 5 X 10 L 50 C 100 D 500 M ...

  6. Linux下移动图像监测系统——motion的移植及应用

    移动图像监控主系统的开发 移动图像监控的原理方法: 通过获取摄像头图像,比较前后每一帧的图像数据,从而实现移动物体监控.所有移动监控均是如此,只是图像帧的比较算法不同. 移动图像监控系统的实现 选择开 ...

  7. 艺赛旗RPA-处理无表头表格

    今天写一个demo,要求是对表格数据用价格为key进行排序 样本数据有两种格式: 一.第一行是一个大单元格 处理步骤: 在不变参数的情况下读取表格数据: 结果如下: 可以看见表头: Unnamed: ...

  8. java优化之 单例模式的优化

    该分类下的文章均为笔者阅读<Java程序性能优化>(葛一鸣)一书之所理解.如有欠缺,还请大佬们指点.

  9. ajax同步与异步 理解

    例如,小明去餐馆排队点餐,前台服务员将小明的菜单告诉厨师进行制作,此时小明后面排队的人就一直等着,直到厨师制作完成,把饭菜送到小明手里后离开,后面的人才能继续点餐:这就是同步处理 但是,如果前台服务员 ...

  10. 【Arduino】66种传感器模块系列实验(2)---光敏电阻模块

    实验二:光敏电阻传感器模块我手里这块是三针版的,挺秀气吧 光敏电阻是用硫化隔或硒化隔等半导体材料制成的特殊电阻器,其工作原理是基于内光电效应.光照愈强,阻值就愈低,随着光照强度的升高,电阻值迅速降低, ...