grep 命令

2020-05-22 12:27:06 浏览数 (1)

简介

grep 是一个强大的文本搜索工具,支持正则表达式搜索文本并把匹配的行打印出来。

常规用法

代码语言:javascript复制
grep [-acinv] [--color=auto] 'string to search' filename

-a : 将二进制文件以 text 文件的方式搜索数据

-c : 计算找到的字符串的次数

-i : 忽略大小写的不同

-n : 输出行号

-v : 反向选择,即输出没有 「字符串」 的内容

--color=auto : 将找到的关键词部分加上颜色

示例

代码语言:javascript复制
# 搜索 root
grep root temp.txt
cat temp.txt | grep root 
# 搜索 root 同时显示 这些行的行号
grep -n root temp.txt
# 搜索没有 root 的行
grep -v root temp.txt 
# 搜索没有 root 和 nologin 的行 
grep -v root temp.txt | grep -v nologin
# 搜索 root 并显示出行号和前两行与后三行 
grep -n -A3 -B2 --color=auto 'root'

递归查找目录

代码语言:javascript复制
grep 'title' # 在当前目录搜索
grep -r 'title' # 在当前目录及其子目录搜索
grep -r -l 'title' # 在当前目录及其子目录下搜索但不输入匹配的行,只显示文件

grep 与正则表达式

grep -n 't[ea]st' temp.txt' : 匹配 testtast 两个单词的行。

grep -n '[^g]oo' temp.txt : 匹配含有 oo 的行,便是不能是 goo 内容。

更多内容见 通配符与正则 。

0 人点赞