grep命令 文本搜索工具
grep -[acivn] '搜索字符串' filename
-a 将二进制文件以文本的方式进行搜索
-c 计算需要搜索的字符串出现的次数
-n 显示行号
-i 忽略大小写
-v 反向选择,也就是显示出没有 '搜索字符串' 内容的那一行
grep ‘搜索字符串’ * #递归当前目录
grep -r ‘搜索字符串’ * #递归当前目录及其子目录,输出包含搜索字符串的那些行
grep -l -r ‘搜索字符串’ * #递归当前目录及其子目录,输出包含搜索字符串的那些行,但是不显示匹配的行,只显示匹配的文件
grep -n ‘[^a-z]’ filename.txt #找出不含有小写字母的行
grep -n ‘^[a-z]’ filename.txt #找出行首为小写字母的行
grep -n '\.$' filename.txt #找出以小数点结尾的行
grep -n 'o\{2\}' filename.txt #限定范围的字符 {} 。 但因为 { 与 } 的符号在 shell 是有特殊意义的,因此, 我们必须要使用字符 \ 来让他失去特殊意义才行
grep 扩展
grep -E / egrep
egrep 'a|b' filename.txt #文件中包含a或者b的行
grep 'a\|b' filename.txt #在扩展元字符前面加\,grep会自动启用扩展选项-E
grep -F # fgrep 查询速度比grep命令快,但是不够灵活:它只能找固定的文本,而不是规则表达式。