用法: grep [选项]... PATTERN [FILE]... 在每个 FILE 或是标准输入中查找 PATTERN。 默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。 例如: grep -i 'hello world' menu.h main.c --color:对匹配的字符串着色打印 -o:只显示被模式匹配到的内容 -c:打印出匹配到字符串的行数 -i:ignore case,不区分字符大小写 -v:显示不能够被模式匹配到的行 -E:使用扩展的正则表达式 -n:打印出匹配字符串的在文件中的行号 -R, -r:递归所有文件夹中的每一个文件 -f:从 FILE 中取得 PATTERN -m: NUM 次匹配后停止 -l:打印出含有匹配字符串的文件名,而不是匹配的内容 -L:打印出没有包含匹配字符串的文件名,与 -l 选项相反 -H:对每个匹配的字符串打印出字符串所在的文件名 -h:不打印匹配字符串所在文件的文件名 -w:强制 PATTERN 仅完全匹配字词 -x:强制 PATTERN 仅完全匹配一行 -A N:打印匹配字符串的同时打印匹配字符串所有行的前 N 行 -B N:打印匹配字符串的同时打印匹配字符串所在行的后 N 行 -C N:打印匹配字符串的同时打印匹配字符串所在行的前 N 行 和 后 N 行 --exclude=GLOB:跳过 GLOB 匹配的文件名进行搜索 --exclude-dir=DIR:在递归搜索时跳过 DIR 指定的文件夹
grep常见用法:
(1)对当前目录下文件进行递归搜索并只显示文件名
grep "redis" . -r -l
(2)搜索指定字符串并显示行号
cat /etc/passwd | grep -in "Mysql"
(3)匹配以"at"结尾的内容行
cat test.txt | grep -E "at$"