grep是用来查找包含特定内容的文件的一个命令
例如:grep “open” * ,此命令查找当前路径下包含"open"字符串的所有文件,并显示包含该串的行内容
正则表达式是用来匹配一段字符串的表达式,主要有以下方法 :
- ^ 匹配一行的开头
2.$匹配一行的结尾
- [a-z]匹配所有的小写字母
4.[A-Z]匹配所有的大写字母
5.[0-9]匹配所有数字
6.[^0-9]匹配非数字 相应地[a-z]匹配非小字字母,[A-Z]匹配所有非大写字母
- [a-z]* 0或多个小写字母
8.[a-z]+至少出现1次小写字母
9.[a-z]?出现0或1次小写字母
-
. 匹配任意一个字符
-
- 1个字符出现任意次
-
grep -E表示后面接的是正则表达式
现在举几个例子:
-
grep -E “^S” a.txt查找文件a.txt中以大写S开头的所有 行并显示出来
-
grep -E “$S” a.txt查找文件a.txt中以大写S结尾的所有行并显示出来
3.grep -E “[^0-9]” a.txt匹配a.txt文件中,所有不是完全由数字构成的行,比如一行中如果是"324324",完全是数字,则这行被过滤,只有包含非数字的行才被选中并显示.
4.grep -E "[0-9a-zA-Z]+@[0-9a-zA-Z]+.[0-9a-zA-Z]+ a.txt,查找a.txt文件中所有的合法邮箱并显示.
导出到指定文件【增量添加的方式】
grep -E "[0-9a-zA-Z]+@[0-9a-zA-Z]+.[0-9a-zA-Z]+ a.txt >> slow.log
导出到指定文件【覆盖的方式】
grep -E "[0-9a-zA-Z]+@[0-9a-zA-Z]+.[0-9a-zA-Z]+ a.txt > slow.log