Grep笔记
时间:2007-09-17 来源:huajian15
grep是对文本文件进行查找,如果匹配的行,则进行打印
- grep的格式
- grep [选项] 正则表达式 [文件]
正则表达式可为普通的字符串,字符参数用双引号标识,以防被误解为shell命令或者用来查找多个单词组成的字符串。
选项:
-C:输出匹配行的计数(即满足匹配行的记录数)
-i:不区分大小写
-h:查询多文件时不显示文件名
-l:查询多文件时只输出包含匹配字符的文件名
-n:显示匹配行的行号
-s:不显示不存在或者无匹配的文本的错误信息
-v:显示不包含匹配文本的所有行。 - grep的精确匹配
grep “字符串<tab>” 文件名
grep “字符串\>” 文件名 - grep与正则表达式的应用
- grep '48[34]' data.f
说明:检索483,484在data.f中的匹配内容 - grep '^[^48]' DATA.F
说明:[^48]在方括号内加^是指以方括号内的内容为行首。方括号外的^表示非的作用。 - grep '[Ss]ept' data.f
说明:[Ss]ept是查询Sept和sept的记录 - 结合命名通道进行查询
grep '[Ss]ept' data.f|grep 483
前面的输出作为后面命令的输入文件 - 匹配字符串
grep 'K...D' data.f
以K打头,以D结尾的所有字符串,而且长度为5
grep '[A-Z][A-Z]..C' data.f
第一第二位是大写字母,中间任意两位字符,最后一位是C。 - 查询日期
grep '[0-9]\{3\}{8}' data.f
任意数据字符显示3个,最后一位是8 - 模式出现概率
grep '4\{2,\}' data.f
数字4至少连续重复出现2次的所有行
grep '4\{2\}' data.f
数字4连续重复出现2次的所有行
grep '4\{2,6、}3' data.f
4连续出现的次数为2-6,并以3结尾。 - 匹配“与”或者“或”
grep -e '216|219' data.f
=grep '21[69]' data.f - 匹配空行
grep '^&'data.f
^为行首,&为行尾,^&则为空 - 匹配特殊字符
查询特殊函数的字符,例&.'"*[]^|\+?必须在特定字符前加\
grep '\.' myfile
grep '\"'myfile
grep 'conftroll\.conf' myfile - 目录
ls -l |grep '^d' 查询目录
ls -l grep '^[^d]' 查询不包含目录的集合 - 使用PS命令
用PS X命令意为显示系统上运行的所有进程的列表
ps ax|grep 'name'|grep -v 'grep'
进程中不包含grep的name显示打印 - grep可用于字符串
str="mary joe peter pauline"
echo $str |grep 'mary' - egrep:可以以一个文件作为保存字符串,然后传给grep做参数
egrep '(32L|2cL)' DATA.F
EGREP -F grepstrings data.f
相关阅读 更多 +