三、Linux三剑客与管道符

目录

  • 管道
  • 正则表达式
  • grep
  • sed
  • awk
image.png

一、什么是管道

  • Linux提供管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入
    image.png
  • 示例:echo "hello123" | grep "hello"

二、正则表达式

  • 正则表达式就是记录文本规则的代码


    image.png
  • 演练环境:https://tool.oschina.net/reqex

举例

  • 找出所有的hi单词\bhi\b

    image.png

  • hi单词后面有lucy单词\bhi\b.*\blucy\b

    image.png

  • 0开头,然后是两个数字,然后是一个连字号“_”,最后是8个数字0\d{2}-\d{8}

    image.png

常用元字符

image.png

常用限定符

image.png

实战

  • 匹配以字母a开头的单词 —— \ba\w*\b
  • 匹配刚好6个字符的单词 —— \b\w{6}\b
  • 匹配1个或更多连续的数字 —— \d+
  • 5位到12位QQ号 —— ^\d{5,12}$

三、grep命令

定义

  • 根据用户指定的模式(pattern) 对目标文本进行过滤,显示被模式匹配到的行

命令形式

  • grep [OPTIONS] PATTERN [FILE...]

选项

  • -v显示不被pattern匹配到的行
  • -i忽略字符大小写
  • -n显示匹配的行号
  • -c统计匹配的行数
  • -o仅显示匹配到的字符串
  • -E使用ERE,相当于egrep

实战1

  • 查找文件内容包含root的行数
    • grep -n root test.txt
  • 查找文件内容不包含root的行
    • grep -nv root test.txt
  • test.txt 内容


    image.png
  • 实战


    image.png

实战2-使用正则

image.png

四、sed 命令

定义

  • sed是流编辑器,一次处理一行内容


    image.png
  1. 将行存储在模式空间
  2. sed命令进行处理
  3. 送入屏幕
  4. 清空模式空间
  5. 重复1-4直到所有行被处理完

命令形式

  • sed [-hn..][-e

你可能感兴趣的:(三、Linux三剑客与管道符)