正则表达式grep的一些操作
在我们进行编辑的时候,我们会用到vim和nano这样的的全屏编辑器,这样的编辑器顾名思义会占据我们的屏幕,来进行编辑。当然,有全屏的编辑器,就有不是全屏的文本编辑器,叫做行编辑器,对于行编辑器来说,有行编辑器三剑客,grep系,sed,awk。 [root@localhost~]#greproot/etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin 正则表达式的元字符:会被正则表达式处理引擎解释为特殊含义的字符;各自都有对应的含义,除非加上进行转义,否则会以原来的含义进行转义解释。 [root@localhost~]#cat/tmp/test/b aaabbbccc abcabc abcdefg [root@localhost~]#grepf./tmp/test/b abcdefg [root@localhost~]#grep.f/tmp/test/b abcdefg []:可以匹配任意指定范围内的单个字符; [root@localhost~]#grep[cd]/tmp/test/b aaabbbccc abcabc abcdefg [^]:可以匹配任意指定范围以外的单个字符; [root@localhost~]#grep[^d]/tmp/test/b aaabbbccc abcabc abcdefg 下列所有的字符集都可以放置于[]之中用于匹配字符集范围内的单个字符; [root@localhost~]#cat/tmp/test/b aaabbbccc abcabc abcdefg s r q 12312131231 THISISA"TEST" [root@localhost~]#grep[[:lower:]]/tmp/test/b aaabbbccc abcabc abcdefg s r q [root@localhost~]#grep[[:upper:]]/tmp/test/b THISISA"TEST" [root@localhost~]#grep[[:digit:]]/tmp/test/b 12312131231 [root@localhost~]#grep[[:punct:]]/tmp/test/b THISISA"TEST" [root@localhost~]#grep[[:space:]]/tmp/test/b 12312131231 THISISA"TEST" [root@localhost~]#grep[1-3]/tmp/test/b 12312131231 次数匹配类:该类字符前面的一个字符可以出现的次数: [root@localhost~]#grep"cd*"/tmp/test/b aaabbbccc abcabc abcdefg [root@localhost~]#grep"a?b"/tmp/test/b aaabbbccc abcabc abcdefg [root@localhost~]#grep"a+b"/tmp/test/b aaabbbccc abcabc abcdefg [root@localhost~]#grep"a{1,3}b"/tmp/test/b aaabbbccc abcabc abcdefg [root@localhost~]#grep"a{2}b"/tmp/test/b aaabbbccc [root@localhost~]#grep"a{2,}b"/tmp/test/b aaabbbccc [root@localhost~]#grep"a{,2}b"/tmp/test/b aaabbbccc abcabc abcdefg 位置锚定字符: [root@localhost~]#grep"^a{,2}b"/tmp/test/b abcabc abcdefg [root@localhost~]#grep"c$"/tmp/test/b aaabbbccc abcabc [root@localhost~]#grep"&;T..S&;"/tmp/test/b THISISA"TEST" 分组与前向引用字符: [root@localhost~]#grep"(root).*1"/etc/passwd root:x:0:0:root:/root:/bin/bash 或者: [root@localhost~]#grep"(root).*1"/etc/passwd root:x:0:0:root:/root:/bin/bash [root@localhost~]#grep"root|ex"/etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin ex:x:1000:1000:ex:/home/ex:/bin/bash
[root@localhost~]#alias aliascp='cp-i' aliasegrep='egrep--color=auto' aliasfgrep='fgrep--color=auto' aliasgrep='grep--color=auto' aliasl.='ls-d.*--color=auto' aliasll='ls-l--color=auto' aliasls='ls--color=auto' aliasmv='mv-i' aliasrm='rm-i' aliaswhich='alias|/usr/bin/which--tty-only--read-alias--show-dot--show-tilde' -c,--count:不输出被PATTREN匹配的行的内容,而是输出被PATTERN匹配到的行数; [root@localhost~]#grep-A1"123"/tmp/test/b 12312131231 THISISA"TEST" [root@localhost~]#grep-B1"123"/tmp/test/b q 12312131231 [root@localhost~]#grep-C1"123"/tmp/test/b q 12312131231 THISISA"TEST" [root@localhost~]#grep-c"ab"/tmp/test/b 3 [root@localhost~]#grep-e"ab"-e"ef"/tmp/test/b aaabbbccc abcabc abcdefg [root@localhost~]#grep-i"is"/tmp/test/b THISISA"TEST" [root@localhost~]#grep-o"IS"/tmp/test/b IS IS [root@localhost~]#grep-q"IS"/tmp/test/b [root@localhost~]#grep-v"IS"/tmp/test/b aaabbbccc abcabc abcdefg s r q 12312131231 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |