1.作用 linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 2.实例 $ ls |grep '\b40\b' 只打印匹配的行数 $ grep -i 'grep' file 匹配时忽略大小写,所以‘grep’,'Grep','greP'等等都会匹配。 $ grep ‘test’ d* 显示所有以d开头的文件中包含test的行。 $ grep ‘[a-z]\{5\}’ aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。 $ grep -r 明确要求搜索子目录 或忽略子目录:grep -d skip $ grep -i pattern files 不区分大小写地搜索。默认情况区分大小写, $ grep -l pattern files 只列出匹配的文件名, $ grep -L pattern files 列出不匹配的文件名, $ grep -w pattern files 只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’), $ grep -C number pattern files 匹配的上下文分别显示[number]行 $ ls |grep 'conf*' conf conf.bak $ ls |grep -C 2 'conf*' 1.txt 2.txt conf conf.bak 11.txt 22.txt $ grep pattern1 | pattern2 files 显示匹配 pattern1 或 pattern2 的行, $ grep pattern1 files | grep pattern2 显示既匹配 pattern1 又匹配 pattern2 的行。 $ ll | grep '^d' 显示以d开头的行 $ ll | grep 'conf$' 显示以conf结尾的行 $ grep -E '(text1|text3)' 匹配“text1”或者“text3” $ ll |grep 'gr.p' 匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。 $ ll |grep '*grep' 匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。 .*一起用代表任意字符。 $ ll |grep '[Gg]rep' 匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。 $ ll |grep '[Gg]rep' 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。 $ ll |grep 'love ' 标记匹配字符,如'love ',love被标记为1。 $ ll |grep '\<grep' 锚定单词的开始,如:'\<grep'匹配包含以grep开头的单词的行。 $ ll |grep 'grep\>' 锚定单词的结束,'grep\>'如匹配包含以grep结尾的单词的行。 $ ll |grep 'o\{5,10\}' 重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。 $ ll |grep 'G\w*p' 匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。 $ ll |grep G\w*p' \w的反置形式,匹配一个或多个非单词字符,如点号句号等。 $ ll |grep '\bgrep\b' 单词锁定符,如: '\bgrep\b'只匹配grep。 (责任编辑:IT) |