Next: , Previous: Regular Expressions, Up: Top   [Contents][Index]


6 »ÈÍÑË¡

GNU grep¤ò¸Æ¤Ó½Ð¤¹¡¤¥·¥§¥ë¥³¥Þ¥ó¥É¤ÎÎã¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê ¤Þ¤¹¡¥

grep -i 'hello.*world' menu.h main.c

¤³¤ì¤Ï¡¤menu.h¤Èmain.c¤Ç¡¤Ê¸»úÎó‘world’¤¬Â³¤¯Ê¸»úÎó ‘hello’¤ò´Þ¤à¡¤Á´¤Æ¤Î¹Ô¤ò¥ê¥¹¥È¥¢¥Ã¥×¤·¤Þ¤¹¡¥¤³¤ì¤Ï¡¤‘.*’¤¬¡¤ ¹Ô¤Î0°Ê¾å¤Îʸ»ú¤Ë¥Þ¥Ã¥Á¤¹¤ë¤¿¤á¤Ç¤¹¡¥See Regular Expressions. ‘-i’¥ª¥×¥·¥ç¥ó¤Ï¡¤grep¤ËÂçʸ»ú¾®Ê¸»ú¤ò̵»ë¤µ¤»¡¤ ‘Hello, world!’¤Ë¥Þ¥Ã¥Á¤µ¤»¤Þ¤¹¡¥¤½¤¦¤·¤Ê¤±¤ì¤Ð¥Þ¥Ã¥Á¤·¤Þ¤»¤ó¡¥ grep¤Î¸Æ¤Ó½Ð¤·Êý¤Î¾ÜºÙ¤Ï¡¤See Invoking.

°Ê²¼¤Ëgrep¤Î»ÈÍÑË¡¤Ë´Ø¤¹¤ë°ìÈÌŪ¤Ê¼ÁÌä¤È²óÅú¤òµ­½Ò¤·¤Þ¤¹¡¥

  1. ¥Þ¥Ã¥Á¤·¤¿¥Õ¥¡¥¤¥ë¤Î̾Á°¤Î¤ß¥ê¥¹¥È¥¢¥Ã¥×¤¹¤ë¤Ë¤Ï¡¤¤É¤¦¤·¤¿¤éÎɤ¤¤Î¤Ç¤¹¤«¡©
    grep -l 'main' *.c
    

    ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¤ÆâÍÆ¤Ë‘main’¤¬¤¢¤ëC¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò¥ê¥¹¥È¥¢¥Ã ¥×¤·¤Þ¤¹¡¥

  2. ¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤Ë¸¡º÷¤¹¤ë¤Ë¤Ï¡¤¤É¤¦¤·¤¿¤éÎɤ¤¤Î¤Ç¤¹¤«¡©
    grep -r 'hello' /home/gigi
    

    hello’¤ò¡¤¥Ç¥£¥ì¥¯¥È¥ê/home/gigi¤Î²¼¤Î¡¤Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ç¸¡ º÷¤·¤Þ¤¹¡¥¸¡º÷¥Õ¥¡¥¤¥ë¤ò¤â¤Ã¤ÈÀ©¸æ¤¹¤ë¤¿¤á¤Ë¡¤find¡¤ grep¤È¡¤xargs¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡¥Î㤨¤Ð¡¤°Ê²¼¤Î¥³¥Þ¥ó ¥É¤ÏC¥Õ¥¡¥¤¥ë¤Î¤ß¤ò¸¡º÷¤·¤Þ¤¹¡¥

    find /home/gigi -name '*.c' -print | xargs grep 'hello' /dev/null
    

    ¤³¤ì¤Ï¡¤°Ê²¼¤Î¥³¥Þ¥ó¥É¤È¤Ï°Û¤Ê¤ê¤Þ¤¹¡¥

    grep -r 'hello' *.c
    

    ¤½¤ì¤Ïñ½ã¤Ë¡¤¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Õ¥¡¥¤¥ë̾¤¬‘.c’¤Ç½ª¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡ ¥¤¥ë¤Ç‘hello’¤òõ¤·¤Þ¤¹¡¥¤³¤³¤Ç¤Î-r¤Ï¡¤ºÆµ¢Åª¤¬‘.c’¤È ¤¤¤¦¥Õ¥¡¥¤¥ë¤Î°ì¤Ä¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¤È¤¤¤¦ÌÇ¿¤ËȯÀ¸¤·¤Ê¤¤»ö¾Ý¤Ç¤Î¤ßȯ ư¤¹¤ë¤Î¤Ç¡¤°Ü¿¢À­¤Î¤¿¤áÉÔɬÍפǤ¹¡¥

  3. ¥Ñ¥¿¡¼¥ó¤¬‘-’¤Ç»Ï¤Þ¤ë¾ì¹ç¡¤¤É¤¦¤¹¤ì¤ÐÎɤ¤¤Î¤Ç¤·¤ç¤¦¤«¡©
    grep -e '--cut here--' *
    

    --cut here--’¤Ë¥Þ¥Ã¥Á¤¹¤ëÁ´¤Æ¤Î¹Ô¤ò¸¡º÷¤·¤Þ¤¹¡¥‘-e’¤¬¤Ê¤¤¾ì¹ç¡¤ grep¤Ï¡¤‘--cut here--’¤ò¥ª¥×¥·¥ç¥ó¤Î¥ê¥¹¥È¤È¤·¤Æ¡¤Ê¬³ä¤· ¤è¤¦¤È¤·¤Þ¤¹¡¥

  4. ñ¸ì¤Î°ìÉô¤Ç¤Ï¤Ê¤¯¡¤Ã±¸ìÁ´ÂΤò¸¡º÷¤·¤¿¤¤¤Î¤Ç¤¹¤¬¡©
    grep -w 'hello' *
    

    ñ¸ìÁ´ÂΤǑhello’¤È¤Ê¤ë¤â¤Î¤Î¤ß¤ò¸¡º÷¤·¤Þ¤¹¡¥‘Othello’¤Ë¤Ï¥Þ¥Ã ¥Á¤·¤Þ¤»¤ó¡¥¤è¤êÀ©¸æ¤¹¤ë¤¿¤á¡¤Ã±¸ì¤ÎºÇ½é¤ÈºÇ¸å¤Ë¥Þ¥Ã¥Á¤¹¤ë¡¤‘\<’¤È ‘\>’¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡¥Î㤨¤Ð¡¤°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡¥

    grep 'hello\>' *
    

    hello’¤Ç½ª¤ëñ¸ì¤Î¤ß¤ò¸¡º÷¤¹¤ë¤Î¤Ç¡¤Ã±¸ì‘Othello’¤Ë¥Þ¥Ã¥Á¤·¤Þ ¤¹¡¥

  5. ¥Þ¥Ã¥Á¤·¤¿¹Ô¤Î¼þ¤ê¤Îʸ̮¤ò½ÐÎϤ¹¤ë¤Ë¤Ï¡¤¤É¤¦¤·¤¿¤éÎɤ¤¤Î¤Ç¤·¤ç¤¦¤«¡©
    grep -C 2 'hello' *
    

    ¥Þ¥Ã¥Á¤·¤¿¹Ô¤Î¼þ¤ê¤Îʸ¤ò¡¤¤½¤ì¤¾¤ì£²¹Ô½ÐÎϤ·¤Þ¤¹¡¥

  6. grep¤Ç¶¯À©Åª¤Ë¥Õ¥¡¥¤¥ë̾¤ò½ÐÎϤ¹¤ë¤Ë¤Ï¤É¤¦¤·¤¿¤éÎɤ¤¤Î¤Ç¤·¤ç¤¦ ¤«¡©

    /dev/null¤ò²Ã¤¨¤Æ¤¯¤À¤µ¤¤¡¥

    grep 'eli' /etc/passwd /dev/null
    

    °Ê²¼¤òÆÀ¤ë¤Ç¤·¤ç¤¦¡¥

    /etc/passwd:eli:DNGUTF58.IMe.:98:11:Eli Smith:/home/do/eli:/bin/bash
    
  7. ps½ÐÎϤǡ¤´ñ̯¤ÊÀµµ¬É½¸½¤ò¤Ê¤¼»È¤¦¤Î¤Ç¤¹¤«¡©
    ps -ef | grep '[c]ron'
    

    ¥Ñ¥¿¡¼¥ó¤¬³Ñ¥«¥Ã¥³¤Ê¤·¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¡¤ps½ÐÎϹԤΠcron¤À¤±¤Ç¤Ê¤¯¡¤ps½ÐÎϤÎgrep¤Ë¤â¥Þ¥Ã¥Á¤·¤Þ ¤¹¡¥¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ¤Ï¡¤ps¤Î½ÐÎϤ¬²èÌ̤ÎÉý¤ËÀ©¸Â¤µ¤ì¤Æ ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡¥grep¤Ë¤Ï¡¤ÍøÍѲÄǽ¤Ê¥á¥â¥ê°Ê³°¤Ë¤Ï¡¤ ¹Ô¤ÎŤµ¤ÎÀ©¸Â¤ÏÁ´¤¯¤¢¤ê¤Þ¤»¤ó¡¥

  8. grep¤Ï“¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ã¥Á”¤ò¤Ê¤¼Êó¹ð¤¹¤ë¤Î¤Ç¤¹¤«¡©

    grep¤¬¡¤¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤«¤éÁ´¤Æ¤Î¥Þ¥Ã¥Á¹Ô¤ò¥ê¥¹¥È¥¢¥Ã ¥×¤·¤¿¾ì¹ç¡¤À¸À®¤µ¤ì¤¿½ÐÎϤϤª¤½¤é¤¯Ìò¤ËΩ¤¿¤º¡¤¥Ç¥£¥¹¥×¥ì¥¤¤Ë¥´¥ß¤ò»µ¤­ »¶¤é¤¹¤Ç¤·¤ç¤¦¡¥¤½¤Î¤¿¤á¡¤GNU grep¤Ï¡¤ÌÀ¤é¤«¤Ê¥Ð¥¤¥Ê¥ê¥Õ¥¡ ¥¤¥ë¤«¤é¤Î½ÐÎϤÏÍÞÀ©¤·¤Þ¤¹¡¥ÌÀ¤é¤«¤Ê¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤«¤é¤â¡¤GNU grep¤Î½ÐÎϤò¶¯À©¤µ¤»¤ë¤¿¤á¡¤‘-a’¤ä ‘--binary-files=text’¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡¥“Binary file matches”¥á¥Ã¥»¡¼¥¸¤ò¥¨¥ß¥å¥ì¡¼¥È¤¹¤ë¤¿¤á¡¤‘-I’¤ä ‘--binary-files=without-match’¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡¥

  9. grep -lv’¤Ï¡¤¤Ê¤¼¥Þ¥Ã¥Á¤·¤Ê¤¤¥Õ¥¡¥¤¥ë̾¤ò½ÐÎϤ·¤Ê¤¤¤Î¤Ç¤¹¤«¡©

    grep -lv’¤Ï¡¤1¤Ä°Ê¾å¥Þ¥Ã¥Á¤·¤Æ¤¤¤Ê¤¤¹Ô¤ò´Þ¤à¡¤Á´¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤ò¥ê ¥¹¥È¥¢¥Ã¥×¤·¤Þ¤¹¡¥¥Þ¥Ã¥Á¹Ô¤¬¤Ê¤¤Á´¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤ò¥ê¥¹¥È¥¢¥Ã¥×¤¹¤ë¤¿¤á¤Ë¡¤ ‘-L’¤ä‘--files-without-match’¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡¥

  10. OR¤Ï‘|’¤Ç¤Ç¤­¤Þ¤¹¤¬¡¤AND¤Ï¤É¤¦¤¹¤ë¤Î¤Ç¤¹¤«¡©
    grep 'paul' /etc/motd | grep 'franc,ois'
    

    paul’¤È‘franc,ois’¤ÎξÊý¤ò´Þ¤àÁ´¤Æ¤Î¹Ô¤ò¸¡º÷¤·¤Þ¤¹¡¥

  11. ɸ½àÆþÎϤȥե¡¥¤¥ë¤ÎξÊý¤ò¡¤¤É¤¦¤¹¤ë¤È¸¡º÷¤Ç¤­¤Þ¤¹¤«¡©

    ÆÃÊ̤ʥե¡¥¤¥ë̾‘-’¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡¥

    cat /etc/passwd | grep 'alain' - /etc/motd
    
  12. ¤É¤Î¤è¤¦¤Ë¤·¤ÆÀµµ¬É½¸½¤Ç²óʸ¤òɽ¸½¤¹¤ë¤Î¤Ç¤¹¤¬¡©

    ¸åÊý»²¾È¤ò»ÈÍѤ·¤Æ¹Ô¤Ê¤¦¤³¤È¤¬²Äǽ¤Ç¡¤Î㤨¤Ð¡¤£´Ê¸»ú¤Î²óʸ¤Ï´ðËÜŪ¤ÊÀµµ¬ ɽ¸½¤Ç½ñ¤¯¤³¤È¤¬²Äǽ¤Ç¤¹¡¥

    grep -w -e '\(.\)\(.\).\2\1' file
    

    ¤½¤ì¤Ï¡¤Ã±¸ì"radar"¤ä"civic"¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹¡¥

    Guglielmo Bondioni¤Ï¡¤£±£¹Ê¸»ú¤Þ¤Ç¤ÎŤµ¤Î¤¹¤Ù¤Æ¤Î²óʸ¤ò¸«¤Ä¤±¤ë¡¤Ã±°ì¤Î Àµµ¬É½¸½¤òÄ󰯤·¤Þ¤·¤¿¡¥

    egrep -e '^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?).?\9\8\7\6\5\4\3\2\1$' file
    

    ¤³¤ì¤ÏGNU¤Î³ÈÄ¥Àµµ¬É½¸½¤Î³ÈÄ¥µ¡Ç½¤ò»ÈÍѤ·¤Æ¤Ê¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤· ¤Æ¤¯¤À¤µ¤¤¡¥¤½¤ì¤Ï¾¤Îgrep¤Ç¤Ï°Ü¿¢À­¤¬Ìµ¤¤¤Ç¤·¤ç¤¦¡¥

  13. ¿âľ¥Ð¡¼¤¬¤¢¤ë°Ê²¼¤ÎÀµµ¬É½¸½¤Ï¤Ê¤¼¼ºÇÔ¤¹¤ë¤Î¤Ç¤¹¤«¡©
    /bin/echo "ba" | egrep '(a)\1|(b)\1'
    

    ºÇ½é¤Î¸ò´¹¤Ç¼ºÇÔ¤·¡¤ºÇ½é¤Î¥°¥ë¡¼¥×¤Ï¥Þ¥Ã¥Á¤Ë¤Ê¤é¤º¡¤¤³¤Î¤¿¤á£²ÈÖÌܤθò´¹ ¤Ç¤â¼ºÇÔ¤·¤Þ¤¹¡¥Î㤨¤Ð¡¤"aaba"¤Ë¤Ï¥Þ¥Ã¥Á¤·¡¤ºÇ½é¤Î¥°¥ë¡¼¥×¤Ï¥Þ¥Ã¥Á¤Ë²Ã¤ï ¤ê¡¤£²ÈÖÌܤΥޥåÁ¤ÇºÆÍøÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥

  14. grep, fgrep, egrep¤Ï²¿¤ò°ÕÌ£¤¹¤ë¤Î¤Ç¤¹¤«¡©

    grep¤ÏUnix¾å¤Ç¹Ô¤òÊÔ½¸¤¹¤ë¤â¤Î¤È¤·¤ÆÀ¸¤Þ¤ì¤Þ¤·¤¿¡¥Î㤨¤Ð¡¤ ed¤Ï²èÌ̤˥ޥåÁ¤·¤¿¹Ô¤Î¥ê¥¹¥È¤ò½ÐÎϤ¹¤ë¤¿¤á¤Ë¡¤¤³¤Î¹½Ê¸¤ò»ÈÍÑ ¤·¤Þ¤¹¡¥

    global/regular expression/print
    g/re/p
    

    fgrep¤Ï½¤Àµ¤µ¤ì¤¿grep¤ò°ÕÌ£¤·¡¤egrep¤Ï³ÈÄ¥ ¤µ¤ì¤¿grep¤ò°ÕÌ£¤·¤Þ¤¹¡¥


Next: , Previous: Regular Expressions, Up: Top   [Contents][Index]