grep 常用用法
命令格式: grep [OPTIONS] PATTERN [FILE...]
参数说明:
-c
计算找到 匹配项 的次数
-n
显示 匹配项 所在行号
-w
全词匹配
-v
反向选择,即是寻找没有 匹配项 的行
-r
递归搜索匹配
-l
不显示匹配行,只显示匹配文件
样例
- 搜索文件 /etc/passwd 中 root 所在的行
使用命令:grep -n 'root' /etc/passwd
-
搜索文件 /etc/passwd 中 root 所不在的行
使用命令:grep -n -v 'root' /etc/passwd
-
递归搜索 /usr/include 目录下 printf 所在的行
使用命令:grep -n -w -r 'printf' /usr/include/*
-
递归搜索 /usr/include 目录下 printf 所在的文件
使用命令:grep -n -w -r -l 'printf' /usr/include/*
grep 搭配正则表达式
常用正则表达式
[a-zA-Z]
匹配一个大小写字母
[0-9]
匹配一个数字
[^a-z]
匹配一个非小写字母(^ 是取反的意思)
^[a-z]
匹配一个行首的小写字母(^ 是行首的意思)
[a-z]$
匹配一个行尾的小写字母($ 是行尾的意思)
.
匹配一个任意字符
*
重复前面一个字符0次或多次
适当使用上面的法则可以达到匹配你想要的字符串
样例
- 搜索文件 /etc/passwd 中 r??t 所在的行
使用命令:grep -n 'r..t' /etc/passwd