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

通配符
    

正则表达式

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

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. MYSQL手工注入(详细步骤)—— 待补充

    0x00 SQL注入的分类: (1)基于从服务器接收到的响应         ▲基于错误的 SQL 注入         ▲联合查询的类型         ▲堆查询注射         ▲SQL 盲注 ...

  2. python+selenium 批量执行时出现随机报错问题【已解决】

    出现场景:用discover方法批量执行py文件,出现随机性的报错(有时a.py报错,有时b.py报错...),共同特点:均是打开新窗口后,切换最新窗口,但定位不到新窗口的元素,超时报错.由于个人项目 ...

  3. python菜鸟入门知识

    第二章 入门 2.1 输出 2.1.1print() 输出 print(12+21) print((12+21)*9) print(a) # 注意a不可以加引号 2.2变量 1.变量由字母,数字,下划 ...

  4. duilib加消息

    一.加消息 1. public INotifyUI, 2. void Notify(TNotifyUI& msg); 3. Notify实现 4. m_pManager->AddNoti ...

  5. 如何在一个项目中兼容Wepy和Taro?

    背景交待 NJ 项目启动初期,团队技术栈主要是基于 Vue,技术选择上就选择了类 Vue 的 wepy.迭代几个版本后 mpvue 出来了,简单调研了下,准备基于 mpvue-simple 开发部分页 ...

  6. Spring集成Shiro使用小结

    shiro的认证流程 Application Code:应用程序代码,由开发人员负责开发的 Subject:框架提供的接口,代表当前用户对象 SecurityManager:框架提供的接口,代表安全管 ...

  7. css 图片裁剪显示

    用object-fit:cover object-fit属性详解 object-fit:CSS 属性指定替换元素的内容应该如何适应到其使用的高度和宽度确定的框. object-fit:fill 被替换 ...

  8. springboot-权限控制shiro(一)

    1. 场景描述 (1)权限控制是IT项目特别是企业项目,绕不开的重要模块,接下来结合springboot介绍下权限控制框架shiro. (2)springboot集成shiro的东西有点多,一篇博客完 ...

  9. 物联网时代 跟着Thingsboard学IOT架构-CoAP设备协议

    thingsboard官网: https://thingsboard.io/ thingsboard GitHub: https://github.com/thingsboard/thingsboar ...

  10. 完美解决eclipse编辑器中文字符过小问题

    window – preferences – general – appearance – colors and fonts – basic – text font – edit 把弹出页面中“西欧语 ...