grep学习实践


grep [选项] '关键字' 文件名

-n 打印行号
-i 不区分大小写
^key 以关键字开头
$key 以关键字结尾
-n 显示行号
-v 查找不包含指定内容的行,反向选择
-A after 显示匹配行之后的行
-B befor 显示匹配行之前的行
-C context 显示匹配航之前之后的行
-w 过滤单词
-o 打印匹配关键字
-c 统计匹配次数
-r 逐层遍历目录查找
-l 显示匹配到文件名
-L 只列出不匹配的文件名
-E 使用扩展正则匹配

过滤出带有root的行,打印行号
grep -n 'root' passwd

过滤出带有root的行,不区分大小写
grep -ni 'root' passwd

过滤开头是root的行
grep -ni '^root' passwd

过滤结尾是bash的行
grep -ni 'bash$' passwd

过滤某某之前的3行,并打印
grep -niA 3 '^ftp' passwd

过滤某某之后的行,并打印
grep -niB 3 '^ftp' passwd

过滤某某之前之后的行,并打印
grep -niC 3 '^ftp' passwd

显示匹配到的文件名
grep -rl 'root' /tmp

只列不匹配的文件名
grep -rL 'root' /tmp