Linux grep

grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。

用法:

grep [选项]… 模式 [文件]…

  • 常用选项:

    选项 用途
    -i 不区分大小写
    -v 查找不包括指定的行
    -w 按单词搜索
    -o 打印匹配关键字
    -c 统计匹配次数
    -n 显示行号
    -r 逐层遍历目录查找
    -A 显示匹配行及后面多少行
    -E 使用扩展正则匹配
    -e 使用正则匹配
  • 常用模式

--color=auto:可以将找到的关键词部分加上颜色的显示(一般默认了)

常用正则

正则 用途
^$ 空行
o\{2\} 有两个o(可以多于2)
o\{2,5\} 2-5个o
oo* 至少一个o
^o 以o开头
o$ 以o结尾
[list] list中的一个字符
[^list] 没有list中字符的

示例

  • 查找当前用户目录下的.zshrc文件里面的python环境
1
2
3
4
5
grep python ~/.zshrc
# alias python=/home/lss/miniconda3/bin/python
# 显示行号
grep -n python ~/.zshrc
# 115:alias python=/home/lss/miniconda3/bin/python

image-20210226141030720