grep -E 'l\{2,\}' 2.txt
grep -E 'h(ell|a)o' test.txt
grep '[a-z]\{5,\}' test.txt
grep -xf a.txt b.txt //²éѯaÓëb¹²Í¬´æÔÚµÄÐÐ
grep -vxf b.txt a.txt //²éѯaµÄÐв»ÔÚbÎļþÀïÃæµÄ,¾ÍÊÇa±Èb¶à³öÀ´µÄÐÐ
grep -v '^h' test.txt //ÏÔʾ·ÇÒÔh¿ª·¢µÄ
grep -E '^(h|y)' test.txt //-EÖ§³ÖÀ©Õ¹ÕýÔò£¬Ï൱ÓÚegrep
grep -A 1 'hello' test.txt //³ýÁËÏÔʾƥÅäµ½µÄÐÐÒ²ÏÔʾËüÖ®ºóµÄÒ»ÐÐ
grep -B 1 'hello' test.txt //³ýÁËÏÔʾƥÅäµ½µÄÐÐÒ²ÏÔʾËü֮ǰµÄÒ»ÐÐ
grep -C 1 'hello' test.txt //³ýÁËÏÔʾƥÅäµ½µÄÐÐÒ²ÏÔʾËü֮ǰºÍÖ®ºóµÄÒ»ÐÐ
grep -r "hello" xx //ÔÚxxĿ¼²éÕÒ
grep -c //ͳ¼ÆÆ¥ÅäµÄÐÐÊý
grep -n //ÏÔʾÐкÅ
grep -v '^hello' test.txt //ÏÔʾ²»ÒÔhello¿ªÍ·µÄÐÐ
--ºÜ´ÏÃ÷µÄд·¨£¬µÚһλ²»ÒÔh¿ª·¢£¬µÚ¶þλ²»ÒÔe¿ª·¢¡£¡£¡£
grep '^[^h]\|^.[^e]\|^..[^l]\|^...[^l]\|^....[^o]'
[options]Ö÷Òª²ÎÊý£º
£c£ºÖ»Êä³öÆ¥ÅäÐеļÆÊý¡£
£I£º²»Çø·Ö´ó Сд(Ö»ÊÊÓÃÓÚµ¥×Ö·û)¡£
£h£º²éѯ¶àÎļþʱ²»ÏÔʾÎļþÃû¡£
£l£º²éѯ¶àÎļþʱֻÊä³ö°üº¬Æ¥Åä×Ö·ûµÄÎļþÃû¡£
£n£ºÏÔʾƥÅäÐм° Ðкš£
£s£º²»ÏÔʾ²»´æÔÚ»òÎÞÆ¥ÅäÎı¾µÄ´íÎóÐÅÏ¢¡£
£v£ºÏÔʾ²»°üº¬Æ¥ÅäÎı¾µÄËùÓÐÐС£
ÃüÁîÕýÔò±í´ïʽ:
. Æ¥Åäµ¥¸ö×Ö·û Èç..X yiXÄܲé³öÀ´
^ Æ¥ÅäÐÐÊ× ^d ÿÐеÚÒ»¸ö×Ö·ûΪd
$ Æ¥ÅäÐÐβ T$ ÿÐÐ×îºóÒ»¸ö×Ö·ûΪT
* Æ¥ÅäÈÎÒâ×Ö·û´®
\ ÆÁ±ÎÌØÊâ×Ö·ûµÄº¬Òå
A\{2\}B ×ÖĸA³öÏÖÁ½´Î
A\{2,\}B ÖÁÉÙ³öÏÖÁ½´Î
A\{2,4\}B ³öÏÖ2µ½4´Î
[0-9]\{4\}xx[0-9]\{4\} ǰËĸöÊÇÊý×Ö£¬ÖмäÊÇxx,ºóËĸöÊÇÊý×Ö
patternÕýÔò±í´ïʽÖ÷Òª²ÎÊý£º
\£º ºöÂÔÕýÔò±í´ïʽÖÐÌØÊâ×Ö·ûµÄÔÓк¬Òå¡£
^£ºÆ¥ÅäÕýÔò±í´ïʽµÄ¿ªÊ¼ÐС£
$: Æ¥ÅäÕýÔò±í´ïʽµÄ½áÊøÐС£
\<£º´ÓÆ¥ÅäÕýÔò±í´ï ʽµÄÐпªÊ¼¡£
궨µ¥´ÊµÄ¿ªÊ¼£¬Èç:/\£ºµ½Æ¥ÅäÕýÔò±í´ïʽµÄÐнáÊø¡£
[ ]£ºµ¥¸ö×Ö·û£¬Èç[A]¼´A·ûºÏÒªÇó ¡£
[ - ]£º·¶Î§£¬Èç[A-Z]£¬¼´A¡¢B¡¢CÒ»Ö±µ½Z¶¼·ûºÏÒªÇó ¡£
¡££ºËùÓеĵ¥¸ö×Ö·û¡£
* £ºÓÐ×Ö·û£¬³¤¶È¿ÉÒÔΪ0
[^]
Æ¥ÅäÒ»¸ö²»ÔÚÖ¸¶¨·¶Î§ÄÚµÄ×Ö·û£¬È磺/[^A-RT-Z]ed/Æ¥Åä²»°üº¬A-RºÍT-ZµÄÒ»¸ö×Öĸ¿ªÍ·£¬½ô¸úedµÄÐС£
+
Æ¥ÅäÇ°ÃæµÄ×Ó±í´ïʽһ´Î»ò¶à´Î¡£ÀýÈ磬'zo+' ÄÜÆ¥Åä "zo" ÒÔ¼° "zoo"£¬µ«²»ÄÜÆ¥Åä "z"¡£+ µÈ¼ÛÓÚ {1,}¡£
?
Æ¥ÅäÇ°ÃæµÄ×Ó±í´ïʽÁã´Î»òÒ»´Î¡£ÀýÈ磬"do(es)?" ¿ÉÒÔÆ¥Åä "do" »ò "does" ÖеÄ"do" ¡£? µÈ¼ÛÓÚ {0,1}¡£
(?=pattern)
ÕýÏòÔ¤²é£¬ÔÚÈÎºÎÆ¥Åä pattern µÄ×Ö·û´®¿ªÊ¼´¦Æ¥Åä²éÕÒ×Ö·û´®¡£ÕâÊÇÒ»¸ö·Ç»ñȡƥÅ䣬Ҳ¾ÍÊÇ˵£¬¸ÃÆ¥Åä²»ÐèÒª»ñÈ¡¹©ÒÔºóʹÓá£
ÀýÈ磬 'Windows (?=95|98|NT|2000)' ÄÜÆ¥Åä "Windows 2000" ÖÐµÄ "Windows" £¬µ«²»ÄÜÆ¥Åä "Windows 3.1" ÖÐµÄ "Windows"¡£Ô¤²é²»ÏûºÄ×Ö·û£¬Ò²¾ÍÊÇ˵£¬ÔÚÒ»¸öÆ¥Åä·¢Éúºó£¬ÔÚ×îºóÒ»´ÎÆ¥ÅäÖ®ºóÁ¢¼´¿ªÊ¼ÏÂÒ»´ÎÆ¥ÅäµÄËÑË÷£¬¶ø²»ÊÇ´Ó°üº¬Ô¤²éµÄ×Ö·ûÖ®ºó¿ªÊ¼¡£
(?!pattern)
¸ºÏòÔ¤²é£¬ÔÚÈκβ»Æ¥ÅäNegative lookahead matches the search string at any point where a string not matching pattern µÄ×Ö·û´®¿ªÊ¼´¦Æ¥Åä²éÕÒ×Ö·û´®¡£ÕâÊÇÒ»¸ö·Ç»ñȡƥÅ䣬Ҳ¾ÍÊÇ˵£¬¸ÃÆ¥Åä²»ÐèÒª»ñÈ¡¹©ÒÔºóʹÓá£ÀýÈç'Windows (?!95|98|NT|2000)' ÄÜÆ¥Åä "Windows 3.1" ÖÐµÄ "Windows"£¬µ«²»ÄÜÆ¥Åä "Windows 2000" ÖÐµÄ "Windows"¡£Ô¤²é²»ÏûºÄ×Ö·û£¬Ò²¾ÍÊÇ˵£¬ÔÚÒ»¸öÆ¥Åä·¢Éúºó£¬ÔÚ×îºóÒ»´ÎÆ¥ÅäÖ®ºóÁ¢¼´¿ªÊ¼ÏÂÒ»´ÎÆ¥ÅäµÄËÑË÷£¬¶ø²»ÊÇ´Ó°üº¬Ô¤²éµÄ×Ö·ûÖ®ºó¿ªÊ¼
(?:pattern)
Æ¥Åä pattern µ«²»»ñȡƥÅä½á¹û£¬Ò²¾ÍÊÇ˵ÕâÊÇÒ»¸ö·Ç»ñȡƥÅ䣬²»½øÐд洢¹©ÒÔºóʹÓá£ÕâÔÚʹÓà "»ò" ×Ö·û (|) À´×éºÏÒ»¸öģʽµÄ¸÷¸ö²¿·ÖÊǺÜÓÐÓá£
ÀýÈ磬 'industr(?:y|ies) ¾ÍÊÇÒ»¸ö±È 'industry|industries' ¸ü¼òÂԵıí´ïʽ
pcregrep 'Windows (?=2000|95|98|NT)' test.txt //WindowsºóÃæÊÇ2000»ò95..
pcregrep 'Windows (?!2000|95|98|NT)' test.txt //WindowsºóÃæ·Ç2000,95,98µÈ
pcregrep 'Windows (?:95|98|NT|2000)' test.txt //ÓëµÚÒ»ÖÖÒ»Ñù
egrep:
Ϊ grep µÄÀ©³ä°æ±¾, ¸ÄÁ¼ÁËÐí¶à´«Í³ grep ²»ÄÜ»ò²»±ãµÄ²Ù×÷. ±È·½Ëµ:
- grep ֮ϲ»Ö§³Ö ? Óë + ÕâÁ½ÖÖ modifier, µ« egrep Ôò¿É.
- grep ²»Ö§³Ö a|b »ò (abc|xyz) ÕâÀà"»òÒ»"±È¶Ô, µ« egrep Ôò¿É.
fgrep:
²»×÷ RE ´¦Àí, ±í´ïʽ½ö×÷Ò»°ã×Ö·û´®´¦Àí, ËùÓÐ meta ¾ùʧȥ¹¦ÄÜ.
pcregrep:
pcregrep - a grep with Perl-compatible regular expressions , perlÕýÔò£¬ÊÇ×îÁ÷Ðк͹淶µÄ