grep命令
grep(global search regular expression)是一个强大的文本搜索工具。grep 使用正则表达式搜索文本,并把匹配的行打印出来。
格式:grep [options] PATTERN [FILE…]
PATTERN 是查找条件:可以是普通字符串、可以是正则表达式,通常用单引号将RE括起来。
FILE 是要查找的文件,可以是用空格间隔的多个文件,也可是使用Shell的通配符在多个文件中查找PATTERN,省略时表示在标准输入中查找。
grep命令不会对输入文件进行任何修改或影响,可以使用输出重定向将结果存为文件
grep在文件中搜索一个单词,命令会返回一个包“match_pattern”的文本行:
grep match_pattern file_name
grep “match_pattern” file_name
在文件 myfile 中查找包含字符串 mystr的行,并显示匹配行后面n行
grep -A n mystr myfile
image
-r 遍历搜索结果的目录
image
在文件 myfile 中查找包含字符串 mystr的行
grep -n mystr myfile
image
显示 myfile 中第一个字符为字母的所有行
grep ‘1’ myfile
在文件 myfile 中查找首字符不是 # 的行(即过滤掉注释行)
grep -v ‘^#’ myfile
列出/etc目录(包括子目录)下所有文件内容中包含字符串“root”的文件名
grep -lr root /etc/*
用grep查找/etc/passwd文件中以a开头的行,要求显示行号;查找/etc/passwd文件中以login结束的行;
image
-m 数字N最多匹配N个后停止
[root@localhost shell]# grep -m 2 “a” test.txt
a
abc999 //匹配2个后停止
[root@localhost shell]#
a-zA-Z ↩︎