目录

grep 命令和通配符

grep 命令

find 命令和 grep 命令区别

通配符与正则表达式的区别

通配符:用于匹配文件名,完全匹配

正则表达式:用于匹配字符串,包含匹配


grep 命令和通配符

grep 命令

  • grep 的作用是在文件中提取和匹配符合条件的字符串行。命令格式如下
[root@localhost ~]# grep [选项] "搜索内容" 文件名
  • 选项:
  • -i: 忽略大小写
  • -n: 输出行号
  • -v: 反向查找
  • --color=auto: 搜索出的关键字用颜色显示

grep 精准比对 grep 完全匹配_正则表达式

grep 精准比对 grep 完全匹配_搜索_02

grep 精准比对 grep 完全匹配_搜索_03

find 命令和 grep 命令区别

  • find 也是搜索命令,那么 find 命令和 grep 命令有什么区别呢?
  • find 命令
  • find 命令用于在系统中搜索符合条件的文件名,如果需要模糊查询,则使用通配符进行匹配,通配符是完全匹配(find 命令可以通过-regex 选项,把匹配规则转为正则表达式规则,但是不建议如此)。
  • grep 命令
  • grep 命令用于在文件中搜索符合条件的字符串,如果需要模糊查询,则使用正则表达式进行匹配,正则表达式是包含匹配。

通配符与正则表达式的区别

通配符:用于匹配文件名,完全匹配

通 配 符

作 用

?

匹配一个任意字符

*

匹配 0 个或任意多个任意字符,也就是可以匹配任何内容

[]

匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是 a,或者是 b,或者是 c

[-]

匹配中括号中任意一个字符,-代表一个范围。例如,[a-z]代表匹配一个小写字母

[^]

逻辑非,表示匹配不是中括号内的一个字符。例如,[^0-9]代表匹配一个不是数字的字符

grep 精准比对 grep 完全匹配_正则表达式_04

grep 精准比对 grep 完全匹配_搜索_05

grep 精准比对 grep 完全匹配_正则表达式_06

grep 精准比对 grep 完全匹配_字符串_07

grep 精准比对 grep 完全匹配_搜索_08

grep 精准比对 grep 完全匹配_字符串_09

正则表达式:用于匹配字符串,包含匹配


正 则 符

作 用

?

匹配前一个字符重复 0 次,或 1 次(?是扩展正则,需要使用 egrep 命令)

*

匹配前一个字符重复 0 次,或任意多次

[]

匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是 a,或者是 b,或者是 c

[-]

匹配中括号中任意一个字符,-代表一个范围。例如,[a-z]代表匹配一个小写字母

[^]

逻辑非,表示匹配不是中括号内的一个字符。例如,[^0-9]代表匹配一个不是数字的字符

^

匹配行首

$

匹配行尾


grep 精准比对 grep 完全匹配_正则表达式_10

grep 精准比对 grep 完全匹配_搜索_11

grep 精准比对 grep 完全匹配_正则表达式_12

grep 精准比对 grep 完全匹配_搜索_13

grep 精准比对 grep 完全匹配_字符串_14

grep 精准比对 grep 完全匹配_搜索_15

grep 精准比对 grep 完全匹配_字符串_16

grep 精准比对 grep 完全匹配_正则表达式_17