Linux三剑客-grep
grep Globally search a Regular Expression and Print (全局搜索正则表达式并打印),是一种文本搜索工具。
-c 输出匹配字符串行数 grep -c admin passwd.txt 打印passwd.txt中包含admin的行数 -n 列出所有匹配的行,并显示行号 grep -n admin passwd.txt 打印passwd.txt中admin的行并显示行号 -v 反向匹配不包含字符串的行 grep -v admin passwd.txt -i 忽略大小写匹配 -h 不显示文件名,默认显示文件名 -l 只列出符合条件的文件名,当前目录下 grep -l admin * 打印当前目录下包含admin字符的文件名
-L 不包含符合条件的
-s 不显示错误信息 -r 递归搜索子目录(默认只搜索当前目录) -w 不把特殊的字符当作正则表达式,比如 * .等字符 -x 匹配整行 grep -x admin passwd.txt 匹配只有admin字符的行 -q 退出状态表示搜索成功,否则报错 echo $? 查看上条命令状态,0表示成功,1表示没有匹配到,2表示错误
-e 或
grep -e 'admin' -e root 匹配包含admin或root的行
匹配空白行 grep -c ^$ passwd.txt 匹配非空白行 grep -c ^[^$] passwd.txt
匹配当前目录下所有包含admin的文件
grep admin -rl *
匹配以数字结尾,并且之前有一个空格
grep [[:space:]][[:digit:]]$ passwd.txt
匹配字符admin
grep "\<admin\>" passwd.txt
匹配包含admin的行,再显示后两行
grep -A 2 'admin' passwd.txt
匹配包含admin的行,再显示前两行
grep -B 2 'admin' passwd.txt
匹配包含admin的行,再显示前后两行
grep -C 2 'admin' passwd.txt
grep 支持基本正则表达式 egrep 支持扩展正则表达式 同grep -E fgrep 快速grep,不支持正则表达式 同grep -F