本文中的所有例子都是基于以下这个文件内容,文件名:datafile
northwest NW Charles Main 3.0 .98 3 34
western WE Sharon Gray 5.3 .97 5 23
southwest SW Lewis Dalsass 2.7 .8 2 18
southern SO Suan Chin 5.1 .95 4 15
southeast SE Patricia Hemenway 4.0 .7 4 17
eastern EA TB Savage 4.4 .84 5 20
northeast NE AM Main Jr. 5.1 .94 3 13
north NO Margot Weber 4.5 .89 5 9
central CT Ann Stephens 5.7 .94 5 13
# grep NW datafile
打印datafile文件中包含NW的行
# grep '^n' datafile
打印datafile中所有名字以字母n开头的行
# grep '4$' datafile
打印datafile中以4结尾的行
#grep TB Savage datafile
打印出在Savage,datadile文件中包含TB的行
# grep 'TB Savage' datafile
打印出datafile中包含'TB Savage'的行
# grep '5\..' datafile
打印出所有包含数字5后跟一个句点.再跟一个任意字符的行
# grep '\.5' datafile
打印出所有包含表达式 .5 的行
# grep '^[we]' datafile
打印出所有以字母w或e开头的行,脱字符(^)是句首定位符,方括号中任何一个字符都可以被匹配
# grep '[^0-9]' datafile
打印出包含非数字字符的所有行
# grep '[A-Z][A-Z] [A-Z]' datafile
# grep '[A-Z]\{2\} [A-Z]' datafile
打印出所有包含两个大写字符后跟一个空格和一个大写字符的行
# grep 'ss* ' datafile
打印出所有包含一个s,后跟0个或多个连着的s和一个空格的文本行
# grep '\(3\)\.[0-9].*\1 *\1' datafile
如果某行包含一个3后跟一个句点和一个数字,再任意多个字符,然后跟一个3和任意多个制表符,再接一个3,则打印该行。
# grep '\
打印所有包含以north开头的行\<是词首定位符
# grep '\' datafile
打印所有包含north的行,\<是词首定位符,\>是词尾定位符
# grep '\<[a-z].*n\>' datafile
打印所有包含以小写字符开头,以n结尾,中间由任意多个字符组成的单词的行。
# grep -n '^south' datafile
选项-n在指定模式的行前面加上其行号再输出
# grep -i 'pat' datafile
选项-i关闭大小写敏感
# grep -l 'SE' *
选项l(小写的L)使grep只输出包含模式的文件名
# grep -c 'west' datafile
选项-c让grep打印出包含模式的行的数目
# grep -v 'Suan' datafile
选项-v打印所有不包含模式Suan的行
# grep -w 'north' datafile
选项-w使grep只查找作为一个词
# grep '[[:space:]]\.[[:digit:]][[:space:]]' datafile
grep搜索一个空格字符后跟一个句点一个数字和另一个空格字符
阅读(681) | 评论(0) | 转发(0) |