æååã®æ€çŽ¢ããããªãå€ãããååšããããŒã«ãšããŠãgrepãæããããŸããèšå€§ãªHTMLãJavaScriptãCSSãã¡ã€ã«ããããæååãå«ãŸããç®æãç®ã§ç¢ºèªããã®ã¯è³é£ã®æ¥ã§ããGUIã®ããŒã«ã«æ€çŽ¢æ©èœãä»éãããã®ããããŸãããä»åã¯å€ãããååšããã³ãã³ããçšããŠãç¹å®ã®ãã£ã¬ã¯ããªå ããå šææ€çŽ¢ãç°¡åã«ãããªãæ¹æ³ãã玹ä»ããŸãã
grepãšã¯
grepãšã¯ãUNIXç³»ã®OSã«ä»å±ããã³ãã³ãã®ã²ãšã€ã§ããããã¹ããã¡ã€ã«ãããæ€çŽ¢æ¡ä»¶(ãã¿ãŒã³)ã«äžèŽããè¡ãæ€çŽ¢ããŠè¡šç€ºããŸããããŸããŸãªãªãã·ã§ã³ãçšæãããŠãããçšéã«å¿ããŠæè»ãªæ¡ä»¶ã§æååãæ€çŽ¢ã§ããŸãã
æ£èŠè¡šçŸãçšããããšã§ãããŸããŸãªãã¡ã€ã«ããè€éãªæ€çŽ¢æ¡ä»¶ã«äžèŽããç®æãç°¡åã«çºèŠããããšãã§ããŸãã仿¥ã§ã¯ãGUIã®ãšãã£ã¿ãçµ±åéçºç°å¢ã«grepãšåçã®æ©èœãæèŒãããŠããããšãå°ãªããããŸããã
ä»åã¯ããã®grepã³ãã³ãã䜿ã£ãæååã®æ€çŽ¢æ¹æ³ã«ã€ããŠã玹ä»ããŸãã
Windowsåãgrep(GnuWin grep)ã®ã€ã³ã¹ããŒã«
Windowsã§grepã©ã€ã¯ãªããŒã«ã¯GUIã»CUIå«ããŠæ°å€ããªãªãŒã¹ãããŠããŸãããããã§ã¯GnuWinãããžã§ã¯ãã®grepãã玹ä»ããããšæããŸããGnuWinãããžã§ã¯ãã§ã¯ãGNU General Public Licenseãªã©ã®åçš®ãªãŒãã³ãœãŒã¹ãœãããŠã§ã¢ã©ã€ã»ã³ã¹ã§æäŸãããŠããããŒã«ãWindowsã«ç§»æ€ããŠãããããžã§ã¯ãã§ããå·çæç¹ã§ã174ã®ããŒã«ãææç©ãšããŠå ¬éãããŠããŸãã
GnuWinã®grepããŒãžã«ã¢ã¯ã»ã¹ããComplete package, except sourcesããã€ã³ã¹ããŒã©(Md5sum: 77a21eb688da4cd7746ce7e92af8f4da)ãããŠã³ããŒãããã€ã³ã¹ããŒã«ããããªããŸãã
ã€ã³ã¹ããŒã«å ãã£ã¬ã¯ããªã®ã«ã¹ã¿ãã€ãºããããªãããã€ã³ã¹ããŒã«ããããªããŸããgrepãã€ã³ã¹ããŒã«åŸãç°å¢å€æ°PATHã®èšå®ããããªããŸããã·ã¹ãã ã®ããããã£ãããç°å¢å€æ°èšå®ãã€ã¢ãã°ã§ãŠãŒã¶ç°å¢å€æ°ã«æ¬¡ã®å€ã远å ããŸãã
| 倿°å | PATH |
|---|---|
| 倿°å€ | C:\Program Files\GnuWin32\bin |
ç°å¢å€æ°PATHãèšå®åŸãã³ãã³ãããã³ããäžã§grepã³ãã³ããå®è¡ããŠã¿ãŸãããã
Mac OS Xã§grepã䜿çšãã
Mac OS Xã§ã¯ãæåããgrepãã€ã³ã¹ããŒã«ãããŠããŸããã¿ãŒããã«ãèµ·åããgrepã³ãã³ããå®è¡ããŸãã
grepã®äœ¿ãæ¹
grepã®æžåŒã¯ã次ã®ããã«ãªã£ãŠããŸãã
grep ãªãã·ã§ã³ æ€çŽ¢æåå(ãã¿ãŒã³) æ€çŽ¢å¯Ÿè±¡ã®ãã¡ã€ã«
ãŸãã¯ãªãã·ã§ã³ãæå®ãããgrepã§æ€çŽ¢ããããªã£ãŠã¿ãŸããããæ¬¡ã®ã³ãã³ãã¯ãã«ã¬ã³ããã£ã¬ã¯ããªã®index.htmlãã¡ã€ã«å ããã
grep "<meta" index.html
ãã¡ã€ã«ã«ã¢ã¹ã¿ãªã¹ã¯(*)ãæå®ãããšãã«ã¬ã³ããã£ã¬ã¯ããªã®å šãã¡ã€ã«ã«å¯ŸããŠæ€çŽ¢ããããªããŸããæ¬¡ã®ã³ãã³ãã¯ãã«ã¬ã³ããã£ã¬ã¯ããªå ã®ãã¡ã€ã«å ã§ãfindããå«ãŸãããã¡ã€ã«åãšè©²åœè¡ã衚瀺ããŸãã
grep "find" *
grepã®ãªãã·ã§ã³ã¯ããã€ãã³(-)ã«ç¶ããŠæå®ããããªããŸãããã€ãã³ã®åŸã«æ°åãæå®ãããšãgrepã¯æ€çŽ¢æåå(ãã¿ãŒã³)ã«è©²åœããè¡ã®ååŸæå®è¡ã衚瀺ããŸããæ¬¡ã®ã³ãã³ãã¯ãã«ã¬ã³ããã£ã¬ã¯ããªå ã®ãã¡ã€ã«ã§ãfindããå«ãŸãããã¡ã€ã«åãšã該åœããè¡ã®ååŸ2è¡ã衚瀺ããŸãã
grep -2 "find" *
ãªãã·ã§ã³ã«nãæå®ãããšã該åœããè¡ã®è¡çªå·ã衚瀺ããŸããæ¬¡ã®ã³ãã³ãã¯ãã«ã¬ã³ããã£ã¬ã¯ããªå ã®ãã¡ã€ã«å ã§ãfindããå«ãŸãããã¡ã€ã«åãšè©²åœè¡ãè¡çªå·ä»ãã§è¡šç€ºããŸãã
grep -n "find" *
ãªãã·ã§ã³ã«cãæå®ãããšã該åœããè¡ã®è¡æ°ãã«ãŠã³ãããŸããæ¬¡ã®ã³ãã³ãã¯ãã«ã¬ã³ããã£ã¬ã¯ããªå ã®ãã¡ã€ã«å ã§ãfindããå«ãŸãããã¡ã€ã«åãšè¡æ°ã衚瀺ããŸãã
grep -c "find" *
ãªãã·ã§ã³ã«rãæå®ãããšããµããã£ã¬ã¯ããªãååž°çã«æ€çŽ¢ããŸããæ¬¡ã®ã³ãã³ãã¯ãã«ã¬ã³ããã£ã¬ã¯ããªå ã®ãµããã£ã¬ã¯ããªãå«ããå šãã¡ã€ã«ãããutilNavããå«ãŸãããã¡ã€ã«åãšè©²åœè¡ã衚瀺ããŸãã
grep -r "utilNav" *
ãªãã·ã§ã³ã«iãæå®ãããšããã¿ãŒã³ã«å ¥åãããæååã倧æåå°æåãåºå¥ããã«æ€çŽ¢ããŸããæ¬¡ã®ã³ãã³ãã¯ãã«ã¬ã³ããã£ã¬ã¯ããªå ã®ãã¡ã€ã«ã§ã倧æåå°æåãåºå¥ããã«ãutilnavããå«ãŸãããã¡ã€ã«åãšè©²åœè¡ã衚瀺ããŸãã
grep -i "utilnav" *
è€æ°ã®ãªãã·ã§ã³ãçµã¿åãããŠäœ¿çšããããšãã§ããŸããæ¬¡ã®ã³ãã³ãã¯ãã«ã¬ã³ããã£ã¬ã¯ããªå ã®ãµããã£ã¬ã¯ããªãå«ããå šãã¡ã€ã«ããã倧æåå°æåãåºå¥ããã«ãutilnavããå«ãŸãããã¡ã€ã«åãšè©²åœè¡ãè¡çªå·ä»ãã§è¡šç€ºããŸãã
grep -inr "utilnav" *
次ã®ã³ãã³ãã¯ãã«ã¬ã³ããã£ã¬ã¯ããªå ã®ãã¡ã€ã«ã§ãfindããå«ãŸãããã¡ã€ã«åãšè©²åœè¡ããã®ååŸ2è¡ãè¡çªå·ä»ãã§è¡šç€ºããŸãã
grep -2n "find" *
è€æ°ã®æ€çŽ¢æ¡ä»¶ãå ¥åãããå Žåã¯ãã³ãã³ãããã€ã(|)ã§ã€ãªããŸããæ¬¡ã®ã³ãã³ãã¯ãã«ã¬ã³ããã£ã¬ã¯ããªå ã®ãµããã£ã¬ã¯ããªãå«ããå šãã¡ã€ã«ãããfindãããã³ãslideããå«ãŸãããã¡ã€ã«åãšè©²åœè¡ãè¡çªå·ä»ãã§è¡šç€ºããŸãã
grep -nr "find" * | grep "slide"
ãªãã·ã§ã³ã«vãæå®ãããšããã¿ãŒã³ã«æå®ããæååãå«ãŸãªãè¡ã衚瀺ããŸããæ¬¡ã®ã³ãã³ãã¯ãã«ã¬ã³ããã£ã¬ã¯ããªå ã®ãµããã£ã¬ã¯ããªãå«ããå šãã¡ã€ã«ãããfindããå«ãŸããè¡ã®äžã§ããslideããå«ãŸããªããã¡ã€ã«åãšè©²åœè¡ãè¡çªå·ä»ãã§è¡šç€ºããŸãã
grep -nr "find" * | grep -v "slide"
grepã³ãã³ãã§å©çšã§ãããªãã·ã§ã³ãããããããŠã¿ãŸãããã
| ãªãã·ã§ã³ | åäœ |
|---|---|
| -(æ°å) | ãã¿ãŒã³ã«è©²åœããè¡ãšããã®ååŸè¡ã衚瀺 |
| -c | ãã¿ãŒã³ã«è©²åœããè¡ã®è¡æ°ãã«ãŠã³ãããŠè¡šç€º |
| -A(æ°å) | ãã¿ãŒã³ã«è©²åœããè¡ãšããã®åŸã®è¡ã衚瀺 |
| -B(æ°å) | ãã¿ãŒã³ã«è©²åœããè¡ãšããã®åã®è¡ã衚瀺 |
| -E | ãã¿ãŒã³ãæ£èŠè¡šçŸãšããŠæ€çŽ¢ |
| -i | ãã¿ãŒã³ã«æå®ããæååã«ã€ããŠã倧æåå°æåãåºå¥ããã«æ€çŽ¢ |
| -n | 衚瀺æã«è¡çªå·ã远å ãã |
| -r | ååž°çã«æ€çŽ¢ |
| -v | ãã¿ãŒã³ã«äžèŽããè¡ãé€å€ããŠè¡šç€º |
ãªããgrepã®ããŒãžã§ã³ã«ãã£ãŠã¯äžéšäœ¿çšã§ããªããªãã·ã§ã³çããããŸããå©çšããŠããgrepã®ããŒãžã§ã³ã«è©²åœããããã¥ã¢ã«ããåç §ãã ããã
åçŽãªäœæ¥ãå¹çåã»çååããããšã§ãæ¬æ¥æéããããã¹ãäœæ¥ã«æ³šåããããšãå¯èœã«ãªããŸããCUIã®åçš®ã³ãã³ãã¯æ £ãããŸã§ã倧å€ã§ãããäžåºŠç¿åŸããŠããŸããšåäœã®æ©æããæè»ãã䜿ããããããææŸããªãéå ·ã«ãªãã§ããããã¿ãŒããã«ãã³ãã³ãããã³ããã«ããŸãè§Šã£ãããšããªãæ¹ã¯ããã²CUIã®éçºããŒã«ãäœéšããŠã¿ãŸãããã
å¯ç°å®æ Hiroaki Tomida
ãæ ªåŒäŒç€Ÿãã¯ãããã§FileMakerããªãŒãã³ãœãŒã¹èšèªãªã©ãçšãããWebã¢ããªéçº äŒæ¥ã®æ¥åæ¹åã®ããã®ã·ã¹ãã éçºãç°å¢æ§ç¯ãè¡ã£ãŠãããäž»ãªèæžã«ãHTML5/JavaScriptãšPhoneGapã§äœãiPhoneã¢ããªéçºå ¥éã(ãã€ãã)ãªã©ã