ºìÁªLinuxÃÅ»§
Linux°ïÖú

grepÃüÁîÏê½â¼°Ïà¹ØÊÂÀý

·¢²¼Ê±¼ä:2014-07-04 15:45:10À´Ô´:ºìÁª×÷Õß:velcbo
Ò».Æ¥Åä×Ö·û

. Æ¥ÅäÈÎÒâµ¥¸ö×Ö·û

[ ] Æ¥ÅäÖ¸¶¨·¶Î§ÄÚµÄÈÎÒâ×Ö·û

[^] Æ¥Åä·ÉÖ¸¶¨·¶Î§ÄÚµÄÈÎÒâ×Ö·û

[:alpha:] ×Öĸ×Ö·û

[:lower:] Сд×Öĸ×Ö·û

[:upper:] ´óд×Öĸ×Ö·û

[:digit:] Êý×Ö

[:alnum:] ×ÖĸÊý×Ö×Ö·û

[:space:] ¿Õ°××Ö·û£¨½ûÖ¹´òÓ¡£©£¬Èç»Ø³µ·û¡¢»»Ðзû¡¢ÊúÖ±ÖÆ±í·ûºÍ»»Ò³·û

[:punct:] ±êµã×Ö·û

[:cntrl:] ¿ØÖÆ×Ö·û£¨½ûÖ¹´òÓ¡£©

[:print:] ¿É´òÓ¡×Ö·û

ʹÓÃʱһ°ãʹÓÃÁ½¸öÖÐÀ¨ºÅ,¾ßÌå»áÔÚÏÂÃæµÄÀý×ÓÖÐʹÓá£

¶þ.Æ¥Åä´ÎÊý

* Æ¥ÅäÇ°ÃæµÄ×Ö·ûÈÎÒ»´Î

.* Æ¥ÅäÈÎÒⳤ¶ÈµÄÈÎÒâ×Ö·û£¨×¢Òâ̰À·Ä£Ê½£¬±ÈÈç grep ¡°r.*t¡± /etc/passwd £©

x\{m,n\} Ö¸¶¨Ç°ÃæµÄ×Ö·ûÖÁÉÙ³öÏÖm´Î£¬ÖÁ¶à³öÏÖN´Î¡£

x\{m,\} Ö¸¶¨Ç°ÃæµÄ×Ö·ûÖÁÉÙ³öÏÖm´Î

x\{0,n\} Ö¸¶¨Ç°ÃæµÄ×Ö·ûÖÁ¶à³öÏÖN´Î

x\{m\} ¾«È·Æ¥Åäm´Î

? Æ¥ÅäÆäÇ°ÃæµÄ×Ö·û0»ò1´Î

Èý.궨·û

1.^ 궨ÐÐÊ× grep "^r..t" /etc/passwd

2.$ 궨ÐÐβ grep "h$" /etc/passwd

3.^$ 궨¿Õ°×ÐÐ grep "^$" /etc/passwd

4.\< (\b) 궨´ÊÊ× grep "\
5.\> (\b) 궨´ÊÊ× grep "r..t\>" /etc/passwd

ʾÀý(ÈÝÒ×»ìÏý):

ÖÁÉÙ°üº¬Ò»¸ö¿Õ°××Ö·û grep "[[:space:]]\{1,\}" /etc/passwd

ÖÁÉÙ°üº¬Ò»¸ö·Ç¿Õ°××Ö·û grep "[^[:space:]]\{1,\}" /etc/passwd

ûÓÐÒ»¸ö¿Õ°××Ö·û grep -v "[^[:space:]]\{1,\}" /etc/passwd

6.\(\)¶Ô×Ö·û·Ö×é grep "\(l..e\).*\1r"

ʾÀý:

grep --color "l\([13]\):\1:.*:\1" /etc/inittab

ËÄ.Ñ¡Ïî

-v ¶Ô½á¹ûÈ¡·´

-i ºöÂÔ×Öĸ´óСд

-o ½öÏÔʾƥÅäµ½µÄ×Ö·û´®£¨ÐÐµÄÆäËûÄÚÈݲ»ÏÔʾ£©

-E Ö§³ÖÀ©Õ¹µÄÕýÔò±í´ïʽ

-A n ÏÔʾƥÅäµ½µÄÐÐÏÂÃænÐÐ

-B n ÏÔʾƥÅäµ½µÄÐÐÉÏÃænÐÐ

-C n ÏÔʾƥÅäµ½µÄÐÐÉÏÏÂÃæ¸÷ÏÔʾnÐÐ

Á·Ï°:

1.²éÕÒϵͳÖÐuser1Óû§µÄÏà¹ØÐÅÏ¢¡££¨Ìáǰ½¨ºÃuser11,myuser1£©(Ò×´í)

grep "user1" /etc/passwd ËùÓаüº¬user1µÄÐÐ

grep "\" /etc/passwd ±íÃæ¿ÉÒÔ£¬µ«ÊÇÌí¼ÓÒÔÏÂÓû§£¬¾Í²»¿ÉÒÔÁË

useradd -c "user1's uncle" /etc/passwd -c ÊÇ×¢ÊÍ

grep "^\" /etc/passwd ³É¹¦Æ¥Åä

2.²éÕÒϵͳÖÐÒÔuser¿ªÍ·ºóÃæ¸úÁËÊý×ÖµÄÓû§µÄÏà¹ØÐÅÏ¢¡£

grep "^user[0-9]\{1,\}\>" /etc/passwd

3.·ÖÎö/etc/inittab ÎļþÈçÏÂÁ½ÐÐÎı¾µÄÌØÕ÷£¬±àд¿ÉÒÔ¾«È·²éµ½µÄÀàËÆÁ½ÐеÄģʽ£¬

ÒªÇóÿÐеÄÊý×Ö±ØÐëÏàͬ¡£

l1:1:wait:/etc/rc.d/rc 1

l3:3:wait:/etc/rc.d/rc 3

grep "l\([13]\):\1:.*:.* \1" inittab

À©Õ¹£ºÆ¥ÅäËùÓÐÉÏÊöÌØÕ÷£ºgrep "l\([0-9]\):\1:.*:.* \1" inittab

Èç¹û³¬¹ý10£¬ÐèÒªÌí¼Ó×îСƥÅä:grep "l\([0-9]\{1,\}\):\1:.*:.* \1" inittab

4.ÏÔʾ/proc/meminfoÎļþÖÐÒÔ²»Çø·Ö´óСдµÄs¿ªÍ·µÄÐÐ

grep "^[sS]" /proc/meminfo

5.ÏÔʾ/etc/passwdÖÐÒÔnologin½áβµÄÐÐ

grep "nologin$" /etc/passwd

6.ÏÔʾ/etc/inittabÖÐÒÔ#¿ªÍ·£¬ÇÒºóÃæ¸úÒ»¸ö»òÕß¶à¸ö¿Õ°××Ö·û£¬¶øºóÓÖ¸úÁËÈÎÒâ·Ç¿Õ°××Ö·ûµÄÐÐ

grep "^#[[:space:]]\{1,\}[^[:space:]]" /etc/inittab

7.ÏÔʾ/etc/inittabÖаüº¬ÁËÁ½¸öðºÅÖмäÒ»¸öÊý×ÖµÄÐÐ

grep ":[0-9]:" /etc/inittab

8.ÏÔʾ/boot/grub/grub.conf ÎļþÖÐÒÔÒ»¸ö»òÕß¶à¸ö¿Õ°××Ö·ûµÄÐÐ

grep ":[0-9]:" /etc/inittab

9.ÏÔʾ/etc/inittabÎļþÖÐÒÔÒ»¸öÊý×Ö¿ªÍ·²¢ÒÔÒ»¸ö¿ªÍ·Êý×ÖÏàͬµÄÊý×Ö½áβµÄÐС£

grep "^\([0-9]\).*\1$" /etc/inittab

10.ÏÔʾ/etc/inittabÎļþÖзǿհ׵ÄÐÐ

grep -v "^$" /etc/inittab

11.È¡³öµ±Ç°ÍøÂç½Ó¿ÚµÄÏà¹ØIPµØÖ·(²»°üº¬127.0.0.1)

ifconfig |grep "inet addr" |grep -v "127.0.0.1"| cut -d: -f2|cut -d" " -f1

ifconfig |grep -A 1 "eth" |grep -o "addr:[0-9.]\{1,\}"|cut -d: -f2

Îå.À©Õ¹ÕýÔò±í´ïʽ

ÓëÕýÔò±í´ïʽ²»Í¬Ö®´¦:

\(\)Ìæ»»Îª ()

\{\}Ìæ»»Îª {}

+ ´ÎÊýÆ¥Å䣬ƥÅäÆäǰµÄ¶î×Ö·ûÒ»´Î»òÕß¶à´Î

| »òÕß

ʾÀý:

Æ¥Åäifconfig½á¹ûÖгöÏÖÊý×ÖΪ1-255Ö®¼äµÄÕûÊý

ifconfig|grep --color -E "\<([1-9]|[1-9][0-9]|1[1-9][0-9]|2[0-5][0-5])\>"

À´Ô´£ºLinuxÉçÇø
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ