ããã¯ãUbuntu OnlineãFedora OnlineãWindows ãªã³ã©ã€ã³ ãšãã¥ã¬ãŒã¿ãŒãMAC OS ãªã³ã©ã€ã³ ãšãã¥ã¬ãŒã¿ãŒãªã©ãè€æ°ã®ç¡æãªã³ã©ã€ã³ ã¯ãŒã¯ã¹ããŒã·ã§ã³ã®ããããã䜿çšããŠãOnWorks ç¡æãã¹ãã£ã³ã° ãããã€ããŒã§å®è¡ã§ããã³ãã³ã ack-grepp ã§ãã
ããã°ã©ã ïŒ
NAME
ack - grep ã®ãããªããã¹ããã¡ã€ã³ããŒ
SYNOPSIS
ack [ãªãã·ã§ã³] ãã¿ãŒã³ [ãã¡ã€ã«...]
ack -f [ãªãã·ã§ã³] [ãã£ã¬ã¯ããª...]
DESCRIPTION
Ack ã¯ã grep ããã°ã©ããŒåãã
Ack ã¯ãæå®ãããå ¥å FILE (ãã¡ã€ã«ãæå®ãããŠããªãå Žåã¯æšæºå ¥åããŸãã¯ãã¡ã€ã«ãæå®ãããŠããªãå Žåã¯æšæºå ¥å) ãæ€çŽ¢ããŸãã
name - ãæå®ãããŠãã) ã¯ãæå®ããã PATTERN ã«äžèŽããè¡ãå«ã¿ãŸãã ããã©ã«ãã§ã¯ã確èª
äžèŽããè¡ãå°å·ããŸãã
PATTERN 㯠Perl ã®æ£èŠè¡šçŸã§ãã Perl ã®æ£èŠè¡šçŸã¯äžè¬çã«æ¬¡ã®å Žæã«ãããŸãã
ä»ã®ããã°ã©ãã³ã°èšèªã§ãããåäœã®è©³çŽ°ã«ã€ããŠã¯ãåãåãããã ãã
<http://perldoc.perl.org/perlreref.html|perlreref>. éåžžã®äœ¿ãæ¹ãããããªãå Žå
è¡šçŸã ãã©åŠã³ã«èå³ã®ããæ¹ã¯ãçžè«ãã ãã
<http://perldoc.perl.org/perlretut.html|perlretut>. ack ã䜿çšããå¿ èŠããªãããŸãã¯äœ¿çšããããªãå Žå
æ£èŠè¡šçŸã«ã€ããŠã¯ãã-Qã/ã--literalããªãã·ã§ã³ãåç §ããŠãã ããã
Ack ã¯ãå®éã«æ€çŽ¢ããã«ãæ€çŽ¢ããããã¡ã€ã«ããªã¹ãããããšãã§ããŸãã
ack ã®ãã¡ã€ã« ã¿ã€ã ãã£ã«ã¿ãªã³ã°æ©èœãå©çšããŸãã
FILE SELECTION
ã³ãã³ãã©ã€ã³ãŸãã¯
ã-xããªãã·ã§ã³ã å è£ å±ç€ºäŒ æ€çŽ¢ãããã¡ã€ã«ãéžæãããµããã£ã¬ã¯ããªã詳ãã調ã¹ãŸãã
å è£ å±ç€ºäŒ æ€çŽ¢ãããã¡ã€ã«ã«ã€ããŠã€ã³ããªãžã§ã³ãã§ãã ã«åºã¥ããŠãç¹å®ã®ãã¡ã€ã«ã®çš®é¡ã«ã€ããŠèªèããŠããŸãã
ãã¡ã€ã«ã®æ¡åŒµåãšãå Žåã«ãã£ãŠã¯ãã¡ã€ã«ã®å 容ã®äž¡æ¹ã§ã ãããã¯
éžæ㯠- ã¿ã€ã ãªãã·ã§ã³ãéžæããŸãã
ãã¡ã€ã«ãéžæããªããŠãã å è£ å±ç€ºäŒ æ瀺çã«æå®ãããŠããªãéåžžã®ãã¡ã€ã«ãæ€çŽ¢ããŸã
ã«ãã£ãŠé€å€ããã --ignore-dir ãš --ignore-ãã¡ã€ã« ã«ååšãããªãã·ã§ã³ ACKRC ãã¡ã€ã«ãŸãã¯
ã³ãã³ãã©ã€ã³ã
ããã©ã«ãã®ãªãã·ã§ã³ã¯ã å è£ å±ç€ºäŒ ç¹å®ã®ãã¡ã€ã«ãšãã£ã¬ã¯ããªãç¡èŠããŸãã ãããã«ã¯ä»¥äžãå«ãŸããŸãïŒ
ã»ããã¯ã¢ãããã¡ã€ã«ïŒãã¡ã€ã«ãããã³ã° #*# ãŸãã¯ã§çµãã ~.
· ã³ã¢ãã³ã: äžèŽãããã¡ã€ã« ã³ã¢ã\d+
· ããŒãžã§ã³ç®¡çãã£ã¬ã¯ã㪠.svn ãš .git.
ã©ã³ å è£ å±ç€ºäŒ ã--dumpããªãã·ã§ã³ã䜿çšããŠãã©ã®èšå®ãèšå®ãããŠãããã確èªããŸãã
ããããªããã å è£ å±ç€ºäŒ ã¿ã€ãã«é¢ä¿ãªããã³ãã³ãã©ã€ã³ã§æå®ããããã¡ã€ã«ãåžžã«æ€çŽ¢ããŸãã ããã
ããªããèšã å è£ å±ç€ºäŒ ã³ã¢ãã³ããæ€çŽ¢ããã«ã¯ãã³ã¢ãã³ããæ€çŽ¢ããŸãã
DIRECTORY SELECTION
å è£ å±ç€ºäŒ æå®ãããéå§ãã£ã¬ã¯ããªã®ãã£ã¬ã¯ã㪠ããªãŒããã©ããŸãã ããã
ãã£ã¬ã¯ããªãæå®ãããŠããå ŽåãçŸåšã®äœæ¥ãã£ã¬ã¯ããªã䜿çšãããŸãã ãã ããç¡èŠããŸã
å€ãã®ããŒãžã§ã³ç®¡çã·ã¹ãã ã§äœ¿çšãããã·ã£ã㊠ãã£ã¬ã¯ããªãããã³ãã«ã ãã£ã¬ã¯ããª
Perl MakeMaker ã·ã¹ãã ã§äœ¿çšãããŸãã ãã®ãªã¹ããããã£ã¬ã¯ããªãè¿œå ãŸãã¯åé€ã§ããŸã
ã --[ããã]ç¡èŠãã£ã¬ã¯ã㪠ãªãã·ã§ã³ã è€æ°ã®ãã£ã¬ã¯ããªãè¿œå /åé€ããããã«ãªãã·ã§ã³ãç¹°ãè¿ãããšãã§ããŸã
ç¡èŠãªã¹ãããã
æ€çŽ¢ãããªããã£ã¬ã¯ããªã®å®å šãªãªã¹ãã«ã€ããŠã¯ããack --dumpããå®è¡ããŠãã ããã
WHEN ã« USE GREP
å è£ å±ç€ºäŒ ãã©ã³ã grep æ¥åžžã®ããŒã«ãšã㊠99% ã®æéããããæããªãã§ãã ããã grep é¢ããŠããªããªã
ãŸã å¿ èŠãªå ŽåããããŸãã
ããšãã°ã巚倧ãªãã¡ã€ã«ãæ€çŽ¢ããŠã次ã®ããã«è¡šçŸã§ããæ£èŠè¡šçŸãæ¢ããŸãã grep
æ§æã¯ããéããªãã¯ãã§ã grep.
ã¹ã¯ãªãããŸãã¯èŠªããã°ã©ã ã䜿çšããå Žå grep ã--quietããŸãã¯ã--silentããŸã㯠IO 㧠exit 2 ãå¿ èŠ
ãšã©ãŒãäœ¿çš grep.
OPTIONS
--ackrc
ä»ã®ãã¹ãŠã®ãã¡ã€ã«ã®åŸã«ããŒããã ackrc ãã¡ã€ã«ãæå®ããŸãã ãACKRC LOCATION SEMANTICSããåç §ããŠãã ããã
-A NUM, --after-context =NUM
å°å·ç© NUM äžèŽããè¡ã®åŸã®åŸç¶ã³ã³ããã¹ãã®è¡ã
-B NUM, --before-context =NUM
å°å·ç© NUM äžèŽããè¡ã®åã®å é ã®ã³ã³ããã¹ãã®è¡ã
--[ããã]äŒæ©
ç°ãªããã¡ã€ã«ããã®çµæã®éã«ãã¬ãŒã¯ãåºåããŸãã 䜿çšæã®ããã©ã«ãã§ãªã³
ã€ã³ã¿ã©ã¯ãã£ãã«ã
-C [NUM], --ã³ã³ããã¹ã[=NUM]
å°å·ç© NUM äžèŽããè¡ã®åšå²ã®ã³ã³ããã¹ãã®è¡ (ããã©ã«ã㯠2)ã
-c, - ã«ãŠã³ã
éåžžã®åºåãæå¶ããŸãã 代ããã«ãå ¥åãã¡ã€ã«ããšã«äžèŽããè¡ã®æ°ãåºåããŸãã
If -l è¡ãå«ãåãã¡ã€ã«ã®è¡æ°ã®ã¿ã衚瀺ãããŸã
ãããã³ã°ã ãããªã -lãäžéšã®è¡æ°ããŒãã«ãªãå ŽåããããŸãã
ãšçµã¿åãããå Žå -h (--no-ãã¡ã€ã«å) ack ã¯åèšã«ãŠã³ãã XNUMX ã€ã ãåºåããŸãã
-[ããã]è², --[ããã]è²
- è² äžèŽããããã¹ãã匷調衚瀺ããŸãã --è²ãªã è²ãæããŸãã ããã¯
åºåããªãã€ã¬ã¯ããããªãéããããã©ã«ãã
Windows ã§ã¯ãWin32::Console::ANSI ã¢ãžã¥ãŒã«ãæå¹ã§ãªãéãããã®ãªãã·ã§ã³ã¯ããã©ã«ãã§ãªãã«ãªã£ãŠããŸãã
ã€ã³ã¹ããŒã«ãããŠãããããACK_PAGER_COLORãç°å¢å€æ°ã䜿çšãããŠããŸãã
--ã«ã©ãŒãã¡ã€ã«å=ã«ã©ãŒ
ãã¡ã€ã«åã«äœ¿çšããè²ãèšå®ããŸãã
--è²åãã=ã«ã©ãŒ
ãããã«äœ¿çšããè²ãèšå®ããŸãã
--color-lineno=ã«ã©ãŒ
è¡çªå·ã«äœ¿çšããè²ãèšå®ããŸãã
--[ããã]å
æåã«äžèŽããåçªå·ã衚瀺ããŸãã ããã¯ã
æå®ãããäœçœ®ã«ã«ãŒãœã«ã眮ããŸãã
--create-ackrc
ããã©ã«ãã® ack ãªãã·ã§ã³ãæšæºåºåã«ãã³ãããŸãã ããããšãã«äŸ¿å©ã§ãã
ããã©ã«ããã«ã¹ã¿ãã€ãºããŸãã
- ãã¿
ããŒãããããªãã·ã§ã³ã®ãªã¹ããšããããã©ãããæ¥ãã®ããæšæºåºåã«æžã蟌ã¿ãŸãã ãã³ãã£
ãããã°çšã
--[ããã]env
--noenv ãã¹ãŠã®ç°å¢åŠçãç¡å¹ã«ããŸãã ããã .ackrc èªã¿åããããã¹ãŠã®ç°å¢
å€æ°ã¯ç¡èŠãããŸãã ããã©ã«ãã§ã¯ã å è£ å±ç€ºäŒ èæ ®ãã .ackrc ããã³èšå®
ç°å¢ã
- æµã
- æµã åºåãããã«ãã©ãã·ã¥ããŸãã ack ãå®è¡ãããŠããªãéããããã¯ããã©ã«ãã§ãªãã«ãªã£ãŠããŸã
察話çã« (åºåããã€ããŸãã¯ãã¡ã€ã«ã«éããããšã)ã
-f å®éã«æ€çŽ¢ãè¡ããã«ãæ€çŽ¢ããããã¡ã€ã«ã®ã¿ãå°å·ããŸãã
PATTERN ã¯æå®ããªãã§ãã ãããæå®ããªããšãæ€çŽ¢ãããã¹ãšããŠäœ¿çšãããŸãã
--files-from=FILE
æ€çŽ¢ãããã¡ã€ã«ã®ãªã¹ãã¯ã FILE. ãã¡ã€ã«ã®ãªã¹ãã¯
æ¹è¡ã§åºåãããŠããŸãã ããã FILE "-" ã®å Žåããªã¹ãã¯æšæºå ¥åããèªã¿èŸŒãŸããŸãã
--[ããã]ãã£ã«ã¿ãŒ
ãã€ããä»ããŠå ¥åãåãåã£ãŠãããã®ããã« ack ãåäœãããŸãã
--[ããã]ãã©ããŒ
éå§ãã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªãé€ããŠãã·ã³ããªãã¯ãªã³ã¯ããã©ããããã©ããªãã
ã³ãã³ãã©ã€ã³ã§æå®ãããŸããã
ããã©ã«ãã§ã¯ãªãã«ãªã£ãŠããŸãã
-g ãã¿ãŒã³
çžå¯Ÿãã¹ + ãã¡ã€ã«åãäžèŽãããã¡ã€ã«ãå°å·ãã ãã¿ãŒã³ã ãã®ãªãã·ã§ã³ã¯
ãšçµã¿åãããããš - è² äžèŽãèŠã€ããããããããã
--[ããã]ã°ã«ãŒã
- ã°ã«ãŒã ã°ã«ãŒãã¯ãã¡ã€ã«åã§äžèŽããŸãã ããã¯ã察話çã«äœ¿çšããå Žåã®ããã©ã«ãã§ãã
--ã°ã«ãŒããªã grep ã®ããã«ãXNUMX è¡ã« XNUMX ã€ã®çµæãåºåããŸãã ããã¯ãåºåã
ãªãã€ã¬ã¯ããããŸããã
-H, --with-ãã¡ã€ã«å
åäžèŽã®ãã¡ã€ã«åãåºåããŸãã åäžã®æ€çŽ¢ãè¡ããªãéãããããããã©ã«ãã§ãã
æ瀺çã«æå®ããããã¡ã€ã«ã
-h, --no-ãã¡ã€ã«å
è€æ°ã®ãã¡ã€ã«ãæ€çŽ¢ãããå Žåãåºåã§ã®ãã¡ã€ã«åã®æ¥é èŸã®ä»å ãæå¶ããŸãã
--[ããã]èŠåºã
åãã¡ã€ã«ã®çµæã®äžã«ãã¡ã€ã«åã®èŠåºããåºåããŸãã ããã¯äœ¿çšæã®ããã©ã«ãã§ã
ã€ã³ã¿ã©ã¯ãã£ãã«ã
- å©ããŠ, -?
çããã«ã ã¹ããŒãã¡ã³ããåºåããŸãã
--ãã«ãã®çš®é¡, --help=ã¿ã€ã
ãã¹ãŠã®æ¢ç¥ã®ã¿ã€ããåºåããŸãã
-i, --倧æåãšå°æåãåºå¥ããªã
PATTERN ã®å€§æåãšå°æåã®åºå¥ãç¡èŠãã
--ignore-ack-defaults
ack ã§æäŸãããããã©ã«ãã®å®çŸ©ãå®å šã«ç¡èŠããããã« ack ã«æ瀺ããŸãã ããã¯
ãšã®çµã¿åããã§æçš --create-ackrc ããªãã®å Žå æ¬åœã« ackãã«ã¹ã¿ãã€ãºãããã
--[no]ignore-dir=ãã£ã¬ã¯ããªå, --[ããã]ç¡èŠãã£ã¬ã¯ããª=ãã£ã¬ã¯ããªå
ãã£ã¬ã¯ããªãç¡èŠããŸã (CVSã.svn ãªã©ã¯ç¡èŠããããã)ã ç¡èŠããããã«è€æ°å䜿çšã§ããŸã
è€æ°ã®ãã£ã¬ã¯ããªã ããšãã°ãç³å·¥ã®ãŠãŒã¶ãŒã¯å«ããããšãã§ããŸã --ignore-dir=ããŒã¿.
ãã® --noignore-dir ãªãã·ã§ã³ã«ããããŠãŒã¶ãŒã¯éåžžã¯ãã£ã¬ã¯ããªãæ€çŽ¢ã§ããŸã
ç¡èŠãããŸãïŒããããå 容ã調æ»ããããïŒ .svn/å°éå · ãã£ã¬ã¯ããª)ã
ãã® ãã£ã¬ã¯ããªå åžžã«åçŽãªãã£ã¬ã¯ããªåã§ãªããã°ãªããŸããã 次ã®ãããªãã¹ãããããã£ã¬ã¯ã㪠foo / bar
ãµããŒããããŠããŸããã æå®ããå¿ èŠããããŸã --ignore-dir=foo ãããŠãããã®ãã¡ã€ã«ã¯ãããŸãã
ã³ãã³ãã§æ瀺çã«æå®ãããŠããªãéããã©ã® foo ãã£ã¬ã¯ããªã ack ã«ãã£ãŠèæ ®ãããŸãã
ã©ã€ã³ã
--ignore-file=ãã£ã«ã¿ãŒã¿ã€ã:Filterargs
äžèŽãããã¡ã€ã«ãç¡èŠ ãã£ã«ã¿ãŒã¿ã€ã:Filterargs. ãã£ã«ã¿ã¯ä»¥äžãšåãããã«æå®ãããŸã
ãç¬èªã®ã¿ã€ãã®å®çŸ©ãã«èŠããããããªãã¡ã€ã« ã¿ã€ã ãã£ã«ã¿ã
-k, -- æ¢ç¥ã®ã¿ã€ã
éžæãããã¡ã€ã«ããack ãèªèããŠããã¿ã€ãã®ãã®ã«å¶éããŸãã ããã¯ã
ack 1 ã«ããããã©ã«ãã®åäœã
--lines =NUM
å°å·ã©ã€ã³ã®ã¿ NUM åãã¡ã€ã«ã®ã è€æ°ã®è¡ãè€æ°æå®ã§ããŸã -è¡
ãªãã·ã§ã³ãŸãã¯ã«ã³ãåºåãã®ãªã¹ã (--lines=3,5,7ãXNUMXãXNUMX). --lines=4-7 ãæ©èœããŸãã ã®
ã³ãã³ãã§æå®ãããé åºã«é¢ä¿ãªããè¡ã¯åžžã«æé ã§åºåãããŸã
ã©ã€ã³ã
-l, --äžèŽãããã¡ã€ã«
äžèŽããããã¹ãã§ã¯ãªããäžèŽãããã¡ã€ã«ã®ãã¡ã€ã«åã®ã¿ãåºåããŸãã
-L, --äžèŽããªããã¡ã€ã«
ãã¡ã€ã«ã®ãã¡ã€ã«åã®ã¿ãå°å·ããŸã NOT äžèŽããŠããŸãã
- ããã ãã¿ãŒã³
ç¹å®ããŸã ãã¿ãŒã³ æ瀺çã«ã ããã¯ãæ£èŠè¡šçŸã次ã®ããã«çœ®ããããªãå Žåã«åœ¹ç«ã¡ãŸãã
ããšãã°ãåããã¡ã€ã« ã»ããã«å¯ŸããŠè€æ°ã®æ€çŽ¢ãå®è¡ããå Žåãªã©ã§ãã
# æå®ãããã¡ã€ã«ãã foo ãš bar ãæ€çŽ¢
ack file1 t/file* --match foo
ack file1 t/file* --ãããããŒ
-m =NUM, --max-count =NUM
åŸã«ãã¡ã€ã«ã®èªã¿åããåæ¢ããŸã NUM äžèŽããŸãã
- ç·
ãã®ããã¥ã¢ã«ããŒãžãå°å·ããŸãã
-n, --ååž°ãªã
ãµããã£ã¬ã¯ããªã«éããããšã¯ãããŸããã
-o åè¡ã® PATTERN ã«äžèŽããéšåã®ã¿ã衚瀺ããŸã (ããã¹ãã®åŒ·èª¿è¡šç€ºããªãã«ããŸã)
--output =åŒ
ã®è©äŸ¡ãåºåãã åŒ è¡ããšã« (ããã¹ãã®åŒ·èª¿è¡šç€ºããªãã«ããŸã) If PATTERN
è€æ°åäžèŽããå Žåãéè€ããªãäžèŽããšã«è¡ãåºåãããŸãã å€ãã®ããã®
詳现ã«ã€ããŠã¯ããäŸãã»ã¯ã·ã§ã³ãåç §ããŠãã ããã - åºå".
--ããŒãžã£ãŒ=ããã°ã©ã , --nopager
- ããŒãžã£ ack ã®åºåã ããã°ã©ã . ããã¯ã
ãACK_PAGERãããã³ãACK_PAGER_COLORãç°å¢å€æ°ã
--pager ã䜿çšãããšã
ã³ãã³ãã©ã€ã³ã§è¡ããŸãã
--nopager ã®èšå®ããã£ã³ã»ã«ããŸã ~/.ackrcããACK_PAGERããŸãã¯ãACK_PAGER_COLORãã ããã
åºåã¯ããŒãžã£ãŒãä»ããŠéä¿¡ãããŸãã
--ãã¹ã¹ã«ãŒ
åŒã«äžèŽãããã©ããã«é¢ä¿ãªãããã¹ãŠã®è¡ãåºåããŸãã ãã€ã©ã€ãã¯åŒãç¶ã
ãã ããæ©èœãããããå šäœã衚瀺ããªããäžèŽã匷調衚瀺ããããã«äœ¿çšã§ããŸã
次ã®ãããªãã¡ã€ã«:
# ãã° ãã¡ã€ã«ãèŠãŠãç¹å®ã® IP ã¢ãã¬ã¹ã匷調衚瀺ããŸã
$ ããŒã« -f ~/access.log | | ack --ãã¹ã¹ã«ãŒ 123.45.67.89
--print0
-fã-gã-lããŸã㯠-c (ãã¡ã€ã«ååºå) ãšçµã¿åãããŠã®ã¿æ©èœããŸãã ãã¡ã€ã«åã¯
éåžžã®æ¹è¡ã®ä»£ããã«ãã«ãã€ãã§åºåãããåºåã ãããªãšãã«åœ¹ç«ã¡ãŸã
空çœãå«ããã¡ã€ã«åãæ±ãã
# html ã¿ã€ãã®ãã¹ãŠã®ãã¡ã€ã«ãåé€
ack -f --html --print0 | xargs -0 rm -f
-Q, - ãªãã©ã«
PATTERN å ã®ãã¹ãŠã®ã¡ã¿æåãåŒçšç¬Šã§å²ã¿ãŸããããã¯ãªãã©ã«ãšããŠæ±ãããŸãã
-r, -R, -ååž°
ãµããã£ã¬ã¯ããªã«ååž°ããŸãã ããã¯ããã©ã«ãã§ãããäºææ§ã®ããã«ããã«ããã ãã§ã
grep. åãã«ã䜿ããŸã --ååž°ãªã ãªãã
-s ååšããªãããŸãã¯èªã¿åããªããã¡ã€ã«ã«é¢ãããšã©ãŒ ã¡ãã»ãŒãžãæå¶ããŸãã ããã¯ããåãããŸã
fgrepã
--[ããã]ã¹ããŒãã±ãŒã¹, --ã¹ããŒãã±ãŒã¹ãªã
PATTERN ã«å€§æåãå«ãŸããŠããªãå Žåãæ€çŽ¢æååã§å€§æåãšå°æåãåºå¥ããŸããã ããã¯
vim ã®ãã¹ããŒãã±ãŒã¹ãã«äŒŒãŠããŸãã ãã®ãªãã·ã§ã³ã¯ããã©ã«ãã§ãªãã«ãªã£ãŠãããã-iããæå®ãããŠããå Žåã¯ç¡èŠãããŸã
æå®ã
-i åžžã«ãã®ãªãã·ã§ã³ããªãŒããŒã©ã€ãããŸãã
--sort-ãã¡ã€ã«
èŠã€ãã£ããã¡ã€ã«ãèŸæžé ã«äžŠã¹æ¿ããŸãã ãã¡ã€ã«ã®ãªã¹ãã
ã®å®è¡éã§æ±ºå®è«çã§ããããš å è£ å±ç€ºäŒ.
--show-types
ack ãåãã¡ã€ã«ã«é¢é£ä»ãããã¡ã€ã«ã¿ã€ããåºåããŸãã
ã§åäœããŸã -f ãš -g ãªãã·ã§ã³ã
--type=[ããã]TYPE
æ€çŽ¢ã«å«ããããŸãã¯æ€çŽ¢ããé€å€ãããã¡ã€ã«ã®çš®é¡ãæå®ããŸãã TYPE ã¯ãã¡ã€ã«ã¿ã€ãã§ãã
ãã㪠ããŒã« or XML. --type=perl ãšããŠæå®ããããšãã§ããŸã --perl, --type=noperl ã§ãã
ãšããŠè¡ããã --noperl.
ãã¡ã€ã«ããfooããšãbarãã®äž¡æ¹ã®ã¿ã€ãã®å Žåã --foo ãš --nobar ãæå®ãããšé€å€ãããŸã
ããã¯ãé€å€ãå å«ãããåªå ãããããã§ãã
åæå®ã¯ç¹°ãè¿ãããšãã§ããäžç·ã« ORed ãããŸãã
èŠã å è£ å±ç€ºäŒ --help=ã¿ã€ã æå¹ãªã¿ã€ãã®ãªã¹ãã«ã€ããŠã¯ã
--type-add ã¿ã€ã:ãã£ã«ã¿:ãã£ã«ã¿ãŒåŒæ°
æå®ããã FILTERARGS ãæå®ããã FILTER ã«é©çšããããã¡ã€ã«ã¯ã
(æ¢åã®) ã¿ã€ã TYPEã ãç¬èªã®åã®å®çŸ©ããåç §ããŠãã ããã
--ã¿ã€ãã»ãã ã¿ã€ã:ãã£ã«ã¿:ãã£ã«ã¿ãŒåŒæ°
æå®ããã FILTERARGS ãæå®ããã FILTER ã«é©çšããããã¡ã€ã«ã¯ã
ã¿ã€ãã¿ã€ãã ããã¯ãã¿ã€ã TYPE ã®æ¢åã®å®çŸ©ã眮ãæããŸãã ãå®çŸ©
ããªãèªèº«ã®ã¿ã€ããã
--type-del ã¿ã€ã
TYPE ã«é¢é£ä»ãããããã£ã«ã¿ãŒã¯ Ack ããåé€ãããèæ ®ãããªããªããŸã
æ€çŽ¢çšã
-v, --å転ããã
äžèŽãå転: äžèŽããªãè¡ãéžæããŸã
- ããŒãžã§ã³
ããŒãžã§ã³ãšèäœæš©æ å ±ã衚瀺ããŸãã
-w, --åèªæ£èŠè¡šçŸ
PATTERN ãå®å šãªåèªã®ã¿ã«äžèŽããããã«åŒ·å¶ããŸãã PATTERN ã¯ã\bãã§ã©ãããããŸã
ã¡ã¿æåã
-x ã®ç¥èª --files-from=-; æ€çŽ¢ãããã¡ã€ã«ã®ãªã¹ãã¯æšæºããèªã¿èŸŒãŸããŸã
ãã¡ã€ã«ããšã« XNUMX è¡ã§å ¥åããŸãã
-1 ããããçš®é¡ã®æåã®äžèŽãå ±åããåŸã«åæ¢ããŸãã ãã㯠--æ倧ã«ãŠã³ã=1
or -m1ããã¡ã€ã«ããšã« XNUMX ã€ã®äžèŽã®ã¿ã衚瀺ãããŸãã ãŸãã -1 ãšé£æº -f ãš -gããã§ã
-m ã§ã¯ãªãã
--thpppt
éåžžã«éèŠãª Bill The Cat ã®ããŽã衚瀺ããŸãã ã®æ£ç¢ºãªã¹ãã«ã«æ³šæããŠãã ãã
--thpppppt éèŠãªäºã§ã¯ãªãã æ£èŠè¡šçŸã«å¯ŸããŠãã§ãã¯ãããŸãã
- ããŒ
ãã©ããã«ã€ããŠæç£ã«ç¢ºèªããŠãã ããã
--ãã£ã·ãŒ
ãã§ã³ã¬ãŒãããã§ã³ã¬ãŒãããã§ã³ã¬ãŒãïŒ
ã .ackrc FILE
ãã® .ackrc ãã¡ã€ã«ã«ã¯ãã³ãã³ã ã©ã€ã³ã®å é ã«è¿œå ãããã³ãã³ã ã©ã€ã³ ãªãã·ã§ã³ãå«ãŸããŠããŸãã
åŠçåã è€æ°ã®ãªãã·ã§ã³ãè€æ°ã®è¡ã«ååšããå ŽåããããŸãã # ã§å§ãŸãè¡
ã¯ç¡èŠãããŸãã ã .ackrc ãã®ããã«èŠãããããããŸããïŒ
# åžžã«ãã¡ã€ã«ããœãŒããã
--sort-ãã¡ã€ã«
# å¥ã®ããã°ã©ã ã«ãã€ãããå Žåã§ããåžžã«è²ãä»ããŸã
- è²
# "less -r" ãããŒãžã£ãŒãšããŠäœ¿çš
--pager=less -r
ã¹ããŒã¹ãå«ãåŒæ°ã¯åŒçšç¬Šã§å²ãå¿ èŠããªãããšã«æ³šæããŠãã ããã
ã·ã§ã«ã«ãã£ãŠè§£éãããŸãã åºæ¬çã«ãããã ã©ã€ã³ äŒå Žã¯ .ackrc ãã¡ã€ã«ã¯XNUMXã€ãšããŠè§£éãããŸã
@ARGV ã®èŠçŽ ã
å è£ å±ç€ºäŒ ããã€ãã®å Žæã§æ¢ããŸã .ackrc ãã¡ã€ã«; æ€çŽ¢ããã»ã¹ã®è©³çŽ°ã«ã€ããŠã¯ã
ãACKRCãã±ãŒã·ã§ã³ã»ãã³ãã£ã¯ã¹ãã 次ã®å Žåããããã®ãã¡ã€ã«ã¯èæ ®ãããŸããã --noenv ã§æå®ãããŠããŸã
ã³ãã³ãã©ã€ã³ã
å®çŸ© èªåã®
ack ã䜿çšãããšãå®çŸ©æžã¿ã®åã«å ããŠç¬èªã®åãå®çŸ©ã§ããŸãã ããã§å®äºã§ã
ã«æé©ãªã³ãã³ã ã©ã€ã³ ãªãã·ã§ã³ã䜿çšããŠã .ackrc ãã¡ã€ã« - ãã®å¿ èŠã¯ãããŸãã
ã¿ã€ããäœåºŠãå®çŸ©ããŸãã 次ã®äŸã§ã¯ããªãã·ã§ã³ã¯åžžã«
ç°¡åã«ã³ã㌠& ããŒã¹ãã§ããããã«ãXNUMX ã€ã®ã³ãã³ã ã©ã€ã³ã«è¡šç€ºãããŸãã
å è£ å±ç€ºäŒ --perl foo ãã¹ãŠã® perl ãã¡ã€ã«ã§ foo ãæ€çŽ¢ããŸãã å è£ å±ç€ºäŒ --help=ã¿ã€ã ããªãã«èšãããã®perl
ãã¡ã€ã«ã¯ã.plã.pmã.podããŸã㯠.t ã§çµãããã¡ã€ã«ã§ãã ã§ã¯ã.xs ãå«ãããå Žåã¯ã©ãã§ããããã
--perl ãã¡ã€ã«ãæ€çŽ¢ãããšãã®ãã¡ã€ã«ãåæ§ã§ãã? å è£ å±ç€ºäŒ --type-add perl:ext:xs --perl foo ãããŸãã
ããã¯ããªãã®ããã§ãã --type-add æ¢åã®åã«è¿œå ã®æ¡åŒµåãè¿œå ããŸãã
æ°ããåãå®çŸ©ãããå ŽåããŸãã¯æ¢åã®åãå®å šã«åå®çŸ©ãããå Žåã¯ã
--ã¿ã€ãã»ãã. å è£ å±ç€ºäŒ --ã¿ã€ãã»ãã ãšããã§ã«:ext:e,ãšããã§ã« ã¿ã€ããå®çŸ©ããŸã ãšããã§ã« ãã¡ã€ã«ãå«ãã
æ¡åŒµå㯠.e ãŸã㯠.eiffel ã§ãã ãã®ãããåèªãå«ããã¹ãŠã® eiffel ãã¡ã€ã«ãæ€çŽ¢ããã«ã¯
ãã«ãã©ã³äœ¿çš å è£ å±ç€ºäŒ --ã¿ã€ãã»ãã ãšããã§ã«:ext:e,ãšããã§ã« --ãšããã§ã« ããŒãã©ã³ã. éåžžã©ããã次ã®ããšãã§ããŸãã
æžããŸã --type=ãšããã§ã« --ãšããã§ã«. åŠå®ãå¹ãã®ã§ --ããšããã§ã« ãã¹ãŠé€å€
æ€çŽ¢ããã® eiffel ãã¡ã€ã«ã åå®çŸ©ãæ©èœããŸã: å è£ å±ç€ºäŒ --ã¿ã€ãã»ãã cc:ext:c,h ãš .xs ãã¡ã€ã«
ã¿ã€ãã«å±ããªããªããŸãã cc.
ã§ç¬èªã®åãå®çŸ©ããå Žå .ackrc 次ã®ãã¡ã€ã«ã䜿çšããå¿ èŠããããŸãã
--type-set=eiffel:ext:e,eiffel
ãŸãã¯å¥ã®è¡ã«æžã
--ã¿ã€ãã»ãã
ãšããã§ã«:ext:e,ãšããã§ã«
以äžã¯ NOT ã§åã .ackrc ãã¡ã€ã«ïŒ
--type-set eiffel:ext:e,eiffel
çŸåšå®çŸ©ãããŠãããã¹ãŠã®ã¿ã€ãã衚瀺ããã«ã¯ã次ã䜿çšããŸãã --ãã«ãã®çš®é¡ãäŸãã° å è£ å±ç€ºäŒ --ã¿ã€ãã»ãã
ããã¯ã¢ãã:ext:bak --type-add ããŒã«:æ¡åŒµå:ããŒã« --ãã«ãã®çš®é¡
æ¡åŒµåã«åºã¥ããã£ã«ã¿ãªã³ã° (ack 1.x ã®èš±å¯ãªã©) ã«å ããŠãack 2 ã¯ä»¥äžãæäŸããŸãã
è¿œå ã®ãã£ã«ã¿ãŒ ã¿ã€ãã äžè¬çãªæ§æã¯æ¬¡ã®ãšããã§ãã --ã¿ã€ãã»ãã ã¿ã€ã:ãã£ã«ã¿ãŒ:ãã£ã«ã¿ãŒargs;
ãã£ã«ã¿ãŒåŒæ° ã®å€ã«äŸåããŸã ãã£ã«ã¿.
次ã®ãšããã§ãããã¡ã€ã«å
is ãã£ã«ã¿ã¯ã¿ãŒã²ãã ãã¡ã€ã«åãšæ£ç¢ºã«äžèŽããŸãã åŒæ°ã XNUMX ã€ã ãåããŸãã
äžèŽãããã¡ã€ã«ã®ååã
äŸïŒ
--type-set make:is:Makefile
å ç·ïŒEXTENSION[,æ¡åŒµ2[ã...]]
EXT ãã£ã«ã¿ãŒã¯ãã¿ãŒã²ãã ãã¡ã€ã«ã®æ¡åŒµåãæ¡åŒµåã®ãªã¹ããšç §åããŸãã ããã
æ¡åŒµåã«ã¯å é ã®ããããå¿ èŠã§ãã
äŸïŒ
--type-set perl:ext:pl,pm,t
ãããïŒãã¿ãŒã³
match ãã£ã«ã¿ãŒã¯ãã¿ãŒã²ãã ãã¡ã€ã«åãæ£èŠè¡šçŸãšç §åããŸãã ã¬ã®ã¥ã©ãŒ
åŒã¯æ€çŽ¢ã§å€§æåãšå°æåãåºå¥ããŸããã
äŸïŒ
--type-set make:match:/(gnu)?makefile/
ãã¡ãŒã¹ãã©ã€ã³ããã:ãã¿ãŒã³
ãã¡ãŒã¹ãã©ã€ã³ããã ã¿ãŒã²ãã ãã¡ã€ã«ã®æåã®è¡ãæ£èŠè¡šçŸãšç §åããŸãã
ããã match ãæ£èŠè¡šçŸã¯å€§æåãšå°æåãåºå¥ããŸããã
äŸïŒ
--type-add perl:firstlinematch:/perl/
ä»åŸãããã«å€ãã®ãã£ã«ã¿ ã¿ã€ããå©çšå¯èœã«ãªãå¯èœæ§ããããŸãã
ENVIRONMENT å€æ°
äžè¬çã«äœ¿çšããã ack ãªãã·ã§ã³ã®å Žåãç°å¢å€æ°ã䜿çšãããšäœæ¥ãã¯ããã«ç°¡åã«ãªããŸãã ãããã¯
次ã®å Žåãå€æ°ã¯ç¡èŠãããŸã --noenv ã³ãã³ãã©ã€ã³ã§æå®ããŸãã
ACKRC
ãŠãŒã¶ãŒã®å Žæãæå®ããŸã .ackrc ãã¡ã€ã«ã ãã®ãã¡ã€ã«ãååšããªãå Žåã¯ã å è£ å±ç€ºäŒ
ããã©ã«ãã®å Žæã«èŠããŸãã
ACK_OPTIONS
ãã®å€æ°ã¯ãæ瀺çãªãªãã·ã§ã³ã®åã«é 眮ãããããã©ã«ã ãªãã·ã§ã³ãæå®ããŸãã
ã³ãã³ãã©ã€ã³ã§ã
ACK_COLOR_FILENAME
å°å·æã®ãã¡ã€ã«åã®è²ãæå®ããŸã - ã°ã«ãŒã ã¢ãŒãã ããã©ã«ãã§ã¯ã
ããã¯ãããŒã«ãã°ãªãŒã³ãã§ãã
èªèãããå±æ§ã¯ãclearãresetãdarkãboldãunderlineãunderscoreãblinkã
å転ãé ãé»ãèµ€ãç·ãé»ãéãããŒã³ã¿ãon_blackãon_redã
on_greenãon_yellowãon_blueãon_magentaãon_cyanãããã³ on_whiteã ã±ãŒã¹ã¯ãããŸãã
éèŠã äžç·ãšäžç·ã¯åçã§ãããã¯ãªã¢ãšãªã»ãããåæ§ã§ãã ã®
color ã ãã§åæ¯è²ãèšå®ããon_color ã§èæ¯è²ãèšå®ããŸãã
ãã®ãªãã·ã§ã³ã¯ã --ã«ã©ãŒãã¡ã€ã«å.
ACK_COLOR_MATCH
å°å·æã«äžèŽããããã¹ãã®è²ãæå®ããŸã - è² ã¢ãŒãã ããã©ã«ãã§ã¯ã
ãblack on_yellowãã§ãã
ãã®ãªãã·ã§ã³ã¯ã --è²åãã.
èŠã ACK_COLOR_FILENAME ã«ã©ãŒä»æ§ã«ã€ããŠã
ACK_COLOR_LINENO
å°å·æã®è¡çªå·ã®è²ãæå®ããŸã - è² ã¢ãŒãã ããã©ã«ãã§ã¯ã
ã倧èãªé»è²ãã
ãã®ãªãã·ã§ã³ã¯ã --color-lineno.
èŠã ACK_COLOR_FILENAME ã«ã©ãŒä»æ§ã«ã€ããŠã
ACK_PAGER
ãmoreãããlessãããmostããªã©ãack ãéä¿¡ããããŒãžã£ãŒ ããã°ã©ã ãæå®ããŸãã
ãã®åºåã
"ACK_PAGER" ã䜿çšãããšã
ãã ããWindows ã® ack ã§ã¯ã"ACK_PAGER" ããªããšæ³å®ãããŸãã
ãµããŒãã«ã©ãŒã
äž¡æ¹ãæå®ãããŠããå ŽåããACK_PAGER_COLORãã¯ââãACK_PAGERãããªãŒããŒã©ã€ãããŸãã
ACK_PAGER_COLOR
ANSI ã«ã©ãŒ ã·ãŒã±ã³ã¹ãç解ããããŒãžã£ãŒ ããã°ã©ã ãæå®ããŸãã 䜿çšãã
"ACK_PAGER_COLOR" ã¯ã
ã³ãã³ãã©ã€ã³ã§è¡ããŸãã
Windows ã䜿çšããŠããªãå Žåã¯ããACK_PAGER_COLORãã䜿çšããå¿ èŠã¯ãããŸããã
AVAILABLE COLORS
å è£ å±ç€ºäŒ Perl ã® Term::ANSIColor ã¢ãžã¥ãŒã«ã§å©çšå¯èœãªè²ã䜿çšããŸãã
以äžã®ãªã¹ããããå€ã ãããã®å€ã䜿çšããå Žåã倧æåãšå°æåã¯åºå¥ãããªãããšã«æ³šæããŠãã ããã
ãã©ã¢ã°ã©ãŠã³ã è²
ãã©ã㯠ã¬ãã ã°ãªãŒã³ ã€ãšã㌠ãã«ãŒ ããŒã³ã¿ ã·ã¢ã³ ãã¯ã€ã
æãã_é» æãã_èµ€ æãã_ç· æãã_é»è²
ãã©ã€ã_ãã«ãŒ ãã©ã€ã_ããŒã³ã¿ ãã©ã€ã_ã·ã¢ã³ ãã©ã€ã_ãã¯ã€ã
çµæŽ è²
ãªã³_ãã©ã㯠ãªã³_ã¬ãã ãªã³_ã°ãªãŒã³ ãªã³_ã€ãšããŒ
ãªã³_ãã«ãŒ ãªã³_ããŒã³ã¿ ãªã³_ã·ã¢ã³ ãªã³_ãã¯ã€ã
on_bright_black on_bright_red on_bright_green on_bright_ yellow
ãªã³ãã©ã€ããã«ãŒ ãªã³ãã©ã€ãããŒã³ã¿ ãªã³ãã©ã€ãã·ã¢ã³ ãªã³ãã©ã€ããã¯ã€ã
ACK & ãã®ä» ããŒã«
掻å çµ±å
å è£ å±ç€ºäŒ Vim ããã¹ã ãšãã£ã¿ãšç°¡åã«çµ±åã§ããŸãã ãããããªãã® .vimrc 䜿çšãã å è£ å±ç€ºäŒ ãååŸããå¿ èŠãããè
of grep:
set grepprg=ack\ -k
ãã®äŸã§ã¯ãã-kãã䜿çšããŠãack ãèªèããŠããã¿ã€ãã®ãã¡ã€ã«ã®ã¿ãæ€çŽ¢ããŸããã
ä»ã®ããã©ã«ã ãã©ã°ã䜿çšã§ããŸãã ä»ãããªãã¯ã§æ€çŽ¢ããããšãã§ããŸã å è£ å±ç€ºäŒ ç°¡åã«ã¹ãããã¹ã«ãŒ
Vimã®çµæïŒ
:grep ãã³ã㌠perllib
Miles Sterett 㯠Vim ãã©ã°ã€ã³ãäœæããŸãã å è£ å±ç€ºäŒ ããã«ããã代ããã« ":Ack" ã䜿çšã§ããŸãã
":grep" ãªã©ãããã€ãã®é«åºŠãªæ©èœãå«ãŸããŠããŸãã
Emacs çµ±å
ãã£ã«ã»ãžã£ã¯ãœã³ããŸãšãã ã¢ã¯ãšã« ãåçŽãªã³ã³ãã€ã«ã¢ãŒããæäŸããæ¡åŒµæ©èœ...
ã¡ãžã£ãŒã¢ãŒãã«åºã¥ããŠãæ€çŽ¢ãããã¡ã€ã«ãæšæž¬ããæ©èœããããŸããã
<http://www.shellarchive.co.uk/content/emacs.html>
TextMate çµ±å
Pedro Melo 㯠TextMate ãŠãŒã¶ãŒã§ã次ã®ããã«æžããŠããŸãã
çµã¿èŸŒã¿ã®ãããžã§ã¯ãå æ€çŽ¢ã¯ã倧èŠæš¡ãªãããžã§ã¯ãã«ã¯é©ããŠããŸããã ã ããç§ã¯ TextMate ã³ãã³ãããããã³ã°ããŸãã
find + grep ã䜿çšã㊠ack ã䜿çšããŠããŸããã çµæ㯠ack ã䜿çšããŠãããžã§ã¯ãå ãæ€çŽ¢ããããªãã¯
ããã§èŠã€ããããšãã§ããŸã:
<http://www.simplicidade.org/notes/archives/2008/03/search_in_proje.html>"
ã·ã§ã«ïŒShellïŒ ãš è¿å Code
ãšã®äºææ§ãé«ããããã« grep, å è£ å±ç€ºäŒ éåžžã®äœ¿çšã§ã¯ãã·ã§ã«ã®æ»ãã³ãŒããŸãã¯çµäºã³ãŒããè¿ããŸã
äœããèŠã€ãã£ãå Žåã®ã¿ 0 ã«ãªããäžèŽãèŠã€ãããªãå Žå㯠1 ã«ãªããŸãã
(ã·ã§ã«ã®çµäºã³ãŒã 1 ã¯ãperl ã§ã¯ "system" ãŸãã¯ããã¯ã¯ã©ãŒãã䜿çšãã "$?=256" ã§ãã)
ãã® grep ãšã©ãŒã®ã³ãŒã 2 ã¯äœ¿çšãããŸããã
ã-fããŸãã¯ã-gããæå®ãããŠããå Žåãå°ãªããšã 0 ã€ã®ãã¡ã€ã«ãèŠã€ãã£ãå Žå㯠XNUMX ãè¿ãããŸãã ããã
ãã¡ã€ã«ãèŠã€ãã£ãå Žåã1 ãè¿ãããŸãã
ãããã° ACK åé¡
ack ã§äºæããªãåºåãåŸãããå Žåã¯ãããã€ãã®ç°¡åãªæé ããå§ããŠãã ããã
ã --noenv
ç°å¢å€æ°ãš .ackrc äºæããªãããšãããŠããå¯èœæ§ããããŸãã
ããªããæå®ããã®ãå¿ããŸããã 䜿çšãã --noenv ããªãã®ç°å¢ãç¡èŠãã .ackrc.
ã -f ããž äœ ãã¡ã€ã« æã£ãŠã ã éžæ
ã¢ã¯ã® -f ããšããšãããã°ããŒã«ãšããŠè¿œå ãããŸããã ack ãäžèŽãããã®ãèŠã€ããããªãå Žå
èŠã€ããã¹ãã ãšæããå®è¡ãã å è£ å±ç€ºäŒ -f ã©ã®ãã¡ã€ã«ãéžæãããŠãããã確èªããŸãã è¿œå ããããšãã§ããŸã
éžæããåãã¡ã€ã«ã®ã¿ã€ãã衚瀺ããã--show-typesããªãã·ã§ã³ã
ã - ãã¿
ããã¯ãããŒãããã ackrc ãã¡ã€ã«ãšãããããããŒãããããªãã·ã§ã³ããªã¹ãããŸãã ã ãã
ããšãã°ãæ€çŽ¢ãããªããã£ã¬ã¯ããªããã¡ã€ã«ã¿ã€ããååšãããã£ã¬ã¯ããªã®ãªã¹ããèŠã€ããããšãã§ããŸã
å®çŸ©ãããã
ã¿ããªãèªãã§ãã
ã ã .ackrc ãã¡ã€ã«ã«ãœãããŠã§ã¢ãæå®ããå¿ èŠããããŸãã
ãã® .ackrc ã»ãšãã©ã®å Žå䜿çšããã䜿çšããããªããã¹ãŠã®ãªãã·ã§ã³ãé 眮ããå Žæã§ãã
èŠããŠã --type-add ãš --type-set ã®ãã¹ãŠã®å®çŸ©ããã®äžã«å ¥ããŸãã ããè¯ãã£ãã
--smart-case ãããã«èšå®ããŸãã ããã« --sort-files ãèšå®ããŸããã
ã -f for ã¯ãŒãã³ã° ã ããã° ã³ãŒãã»ãã
Ack ã¯ãã¡ã€ã«ãæ€çŽ¢ããã ãã§ã¯ãããŸããã ãack -f --perlãã¯ããã¹ãŠã® Perl ãã¡ã€ã«ã®ãªã¹ããäœæããŸã
ã«éä¿¡ããã®ã«çæ³çãªããªãŒã§ xargs äŸãã°ïŒ
# ããªãŒå ã®ãã¹ãŠã® Perl ãã¡ã€ã«ã§ããã¹ãŠã®ãããããããããã«å€æŽããŸãã
ack -f --perl | xargs perl -p -i -e's/this/that/g'
ãŸãã¯å¿ èŠã«å¿ããŠïŒ
perl -p -i -e's/this/that/g' $(ack -f --perl)
ã -Q ã〠in çã èªå·±çŽ¹ä» ã¡ã¿ãã£ã©ã¯ã¿ãŒ
æ£èŠè¡šçŸã®ã¡ã¿æåã䜿çšããŠäœããæ€çŽ¢ããŠããå Žåãã»ãšãã©ã®å Žåã
ãã¡ã€ã«åãŸã㯠IP ã¢ãã¬ã¹ã«ããªãªããä»ããå Žåã¯ã-Q ãè¿œå ããŠããã¹ãŠã®
ããã¯ã¹ã©ãã·ã¥ã 詳现ã«ã€ããŠã¯ã次ã®äŸãåç §ããŠãã ãã...
ã å è£ å±ç€ºäŒ ããž watch ãã° ãã¡ã€ã«
ããã¯å æ¥ãWeb ãµã€ãã®èšªåè ã®åé¡ç¹ãèŠã€ããããã«äœ¿çšãããã®ã§ãã ãŠãŒã¶ãŒãæã£ãŠãã
èªã¿èŸŒã¿ã®åé¡ åä»ãª.gifãšããããšã§ãã¢ã¯ã»ã¹ãã°ãåã£ãŠackã§XNUMXåã¹ãã£ã³ããŠã¿ãŸããã
ack -Q aa.bb.cc.dd /path/to/access.log | ack -Q -B5 åä»ãª.gif
æåã® ack ã¯ãæå®ããã IP ã® Apache ãã°å ã®è¡ã®ã¿ãæ€åºããŸãã XNUMXçªç®ã«èŠã€ãã
ç§ã®åä»ãªGIFã®äžèŽãããã³ããããã®ãã°ããã®åã®XNUMXè¡ã瀺ããŠããŸã
å Žåã
äŸ of - åºå
次ã®å€æ°ã¯ãæ¡åŒµæååã§åœ¹ç«ã¡ãŸãã
$& PATTERN ã«äžèŽããæååå šäœã
$1ã$2ã...
PATTERN ã® 1stã2nd ... æ¬åŒ§ã§å²ãŸããã°ã«ãŒãã®å 容ã
ã$`ã
è©Šååã®æååã
ã$ã
ãããåŸã®æååã
詳现ããã³ãã®ä»ã®å€æ°ã«ã€ããŠã¯ã
<http://perldoc.perl.org/perlvar.html#æ£èŠè¡šçŸã«é¢é£ããå€æ°|perlvar>.
ãã®äŸã¯ãç¹å®ã®ãã¿ãŒã³ã®åšå²ã«ããã¹ããè¿œå ããæ¹æ³ã瀺ããŠããŸã (ãã®å Žå㯠_ ãè¿œå ããŸã)ã
ãeãã§åèªãå²ãïŒ
ack2.pl "\w*e\w*" quick.txt --output="$`_$&_$'"
_The_éãè¶è²ã®ããããæ ãè ã®ç¬ãé£ã³è¶ããŸã
çŽ æ©ãè¶è²ã®ãããã¯æ ãè ã®ç¬ãé£ã³è¶ããŸã
çŽ æ©ãè¶è²ã®ãããã¯æ ãè ã®ç¬ãé£ã³è¶ããŸã
ããã¯ãã¬ã®ã¥ã©ãŒå 㧠( ) ã䜿çšããŠäžèŽã®ç¹å®ã®éšåãéžæããæ¹æ³ã瀺ããŠããŸã
åŒã§ãã
ack '=head(\d+)\s+(.*)' --output=' $1 : $2'
å ¥åãã¡ã€ã«ã«ã=head1 NAMEããå«ãŸããŠããŸã
åºå "1 : åå"
ã·ã§ã¢ãã ç¥è
ack-users ã¡ãŒãªã³ã° ãªã¹ãã«åå ããŠãã ããã ãã³ããéã£ãŠãã ãããããã«è¿œå ããããšããããŸãã
ãããã質å
ãªã ãªã å è£ å±ç€ºäŒ çºèŠ a match in ïŒããã€ã ãã¡ã€ã«ïŒïŒ
ãããã ack ãèªèããªãã¿ã€ãã ããã§ãã ack ã®æ€çŽ¢åäœã¯
ãã¡ã€ã«ã¿ã€ãã«ãã£ãŠé§åãããŸãã If å è£ å±ç€ºäŒ ããªã ç¥ã£ãŠããŸã äœ çš®é¡ of file it ã¯ã å è£ å±ç€ºäŒ ç¡èŠãã ã ãã¡ã€ã«ã«ãœãããŠã§ã¢ãæå®ããå¿ èŠããããŸãã
ã-fãã¹ã€ããã䜿çšããŠãack ãæ€çŽ¢ãããã¡ã€ã«ã®ãªã¹ãã衚瀺ããŸãã ã䜿çšã§ããŸãã
ã--show-typesãã¹ã€ããã¯ãack ãåãã¡ã€ã«ãèªèããŠããã¿ã€ãã衚瀺ããŸãã
ããªã it be çŽ æŽããã if å è£ å±ç€ºäŒ ãã ãµãŒã & 亀æïŒ
ããããack ã¯åžžã«èªã¿åãå°çšã§ãã Perlã«ã¯ãæ€çŽ¢ãšçœ®æãè¡ãããã®å®å šã«åªããæ¹æ³ããããŸã
ã-iããã-pããããã³ã-nãã¹ã€ããã䜿çšããŠããã¡ã€ã«ã
確ãã« ack ã䜿çšããŠãæŽæ°ãããã¡ã€ã«ãéžæã§ããŸãã ããšãã°ããã¹ãŠãå€æŽããã«ã¯
ãã¹ãŠã® PHP ãã¡ã€ã«ã§ "foo" ã "bar" ã«å€æŽããã«ã¯ãUnix ã·ã§ã«ãããããè¡ãããšãã§ããŸãã
$ perl -i -p -e's/foo/bar/g' $(ack -f --php)
ã§ãã I make å è£ å±ç€ºäŒ èªèãã XYZ ãã¡ã€ã«ïŒ
ã¯ãïŒ ãç¬èªã®åã®å®çŸ©ããåç §ããŠãã ããã ããæããªã å è£ å±ç€ºäŒ ã¿ã€ããèªèããå¿ èŠããããŸã
ããã©ã«ãã§ã¯ããæ©èœåŒ·åããåç §ããŠãã ããã
ããã«ãã æ¢ã« a ããã°ã©ã /ããã±ãŒãž åŒã°ããŸã ããã
ã¯ããç¥ã£ãŠããŸãã
ãªã is it åŒã°ããŸã å è£ å±ç€ºäŒ if ããã¯ã åŒã°ããŸã ack-grep?
ããã°ã©ã ã®ååã¯ãackãã§ãã äžéšã®ããã±ãŒãžã£ãŒã¯ãäœææã«ãack-grepããšåŒãã§ããŸã
ããã±ãŒãžã¯ããackããšåŒã°ããäœãé¢ä¿ã®ãªãããã±ãŒãžãæ¢ã«ååšããããã§ã
ãã®ã¢ãã¯ã§ã
ãšããååã®ã·ã³ããªãã¯ãªã³ã¯ãäœæããããšããå§ãããŸã å è£ å±ç€ºäŒ ãæã ack-grep éèŠãªèŠçŽ ã® XNUMX ã€ã§ããããã
ack ã®å©ç¹ã¯ãååãçããŠå ¥åããããããšã§ãã
ãããè¡ãã«ã¯ããããå®è¡ããŸã sudo ãŸãã¯ã«ãŒããšããŠïŒ
ln -s /usr/bin/ack-grep /usr/bin/ack
ãŸãã¯ãã·ã§ã« ãšã€ãªã¢ã¹ã䜿çšããããšãã§ããŸãã
# ããã·ã¥/zsh
ãšã€ãªã¢ã¹ ack=ack-grep
#csh
ãšã€ãªã¢ã¹ ack ack-grep
ãã®è©Šéšã¯ ãããŸãã å è£ å±ç€ºäŒ å¹³åïŒ
äœããªãã å ¥åãããããçºé³ããããååã欲ããã£ã
é³ç¯ã
ã§ãã I do ãã«ãã©ã€ã³ æ£èŠè¡šçŸïŒ
ããããack ã¯è€æ°è¡ã«äžèŽããæ£èŠè¡šçŸããµããŒãããŠããŸããã ãã®ããã«ã¯ã
äžåºŠã«ãã¡ã€ã«å šäœãèªã¿èŸŒã¿ãŸãã
ãããã®è¿ãã®ç·ãèŠããå Žåã¯ãã--Aããã--Bããã--Cãã¹ã€ããã䜿çšããŠãã ãã
ã³ã³ããã¹ãã衚瀺ããŠããŸãã
ãªã is å è£ å±ç€ºäŒ å ã me I æã£ãŠã an ç¡å¹ ãªãã·ã§ã³ ã〠æ€çŽ¢ for ã+ãµãŒãïŒ
ack ã¯ãã+ããŸãã¯ã-ãã§å§ãŸãã³ãã³ã ã©ã€ã³ ãªãã·ã§ã³ããªãã·ã§ã³ãšããŠæ±ããŸãã ãããããã°
ããããæ€çŽ¢ããã«ã¯ãæ€çŽ¢èªã®åã«ã--ããä»ããããã--matchããªãã·ã§ã³ã䜿çšã§ããŸãã
(ãã ããã+ãã¯æ£èŠè¡šçŸã®ã¡ã¿æåã§ããããšãå¿ããªãã§ãã ãã!)
ãªã ãããŸãã ãããã '.{40000,}'" 倱æããŸãïŒ ããã§ã¯ãªã ãã a æå¹ãª æ£èŠè¡šçŸ?
Perl èšèªã§ã¯ãå埩修食åã 32K ã«å¶éãããŠããŸãã ã.{32767}ãã§æ€çŽ¢ã§ããŸãã
".{32768}" ã§ã¯ãããŸããã
ACKRC ãã±ãŒã·ã§ã³ ã»ãã³ãã£ã¯ã¹
Ack ã¯ãå€ãã®ãœãŒã¹ããæ§æãããŒãã§ããŸãã ãã®ãªã¹ãã¯ããœãŒã¹ Ack ãæå®ããŸã
æ§æãæ¢ããŸãã èŠã€ãã£ãããããããããã§æå®ãããé åºã§ããŒããããŸãã
ããããããããããåã®ãœãŒã¹ã®ããããã«èšå®ããããªãã·ã§ã³ããªãŒããŒã©ã€ãããŸãã (ããšãã°ãç§ãèšå®ããå Žå
--sort-files ããŠãŒã¶ãŒ ackrc ã«ã --nosort-files ãã³ãã³ã ã©ã€ã³ã«ãã³ãã³ã ã©ã€ã³
ãåªå ãããŸãïŒ
· ããã©ã«ã㯠App::Ack::ConfigDefaults ããããŒããããŸãã ããã¯æ¬¡ã䜿çšããŠçç¥ã§ããŸãã
ã--ignore-ack-defaultsãã
· ã°ããŒãã« ackrc
次ã«ãã°ããŒãã« ackrc ãããªãã·ã§ã³ãããŒããããŸãã ããã¯ãã/etc/ackrcãã«ãããŸãã
Unixã©ã€ã¯ãªã·ã¹ãã ã
Windows XP 以åã§ã¯ãackrc ã¯ãC:\Documents and Settings\Allãã«ãããŸãã
ãŠãŒã¶ãŒ\ã¢ããªã±ãŒã·ã§ã³ ããŒã¿\ackrc".
Windows Vista/7 ã§ã¯ãã°ããŒãã« ackrc ã¯ãC:\ProgramDataãã«ãããŸãã
ã--noenvããªãã·ã§ã³ã¯ããã¹ãŠã® ackrc ãã¡ã€ã«ãèªã¿èŸŒãŸããªãããã«ããŸãã
· ãŠãŒã¶ãŒ ackrc
ãªãã·ã§ã³ã¯ããŠãŒã¶ãŒã® ackrc ããèªã¿èŸŒãŸããŸãã ããã¯ãã$HOME/.ackrcãã«ãããŸãã
Unixã©ã€ã¯ãªã·ã¹ãã ã
Windows XP 以åã§ã¯ããŠãŒã¶ãŒã® ackrc ã¯ãC:\Documents and
Settings\$USER\Application Data\ackrc".
Windows Vista/7 ã§ã¯ããŠãŒã¶ãŒã® ackrc ã¯.
å¥ã®ãŠãŒã¶ãŒ ã¬ãã«ã® ackrc ãããŒãããå Žåã¯ã$ACKRC ã§æå®ã§ããŸãã
ç°å¢å€æ°ã
ã--noenvããªãã·ã§ã³ã¯ããã¹ãŠã® ackrc ãã¡ã€ã«ãèªã¿èŸŒãŸããªãããã«ããŸãã
· ãããžã§ã¯ã ackrc
ãªãã·ã§ã³ã¯ããããžã§ã¯ã ackrc ããèªã¿èŸŒãŸããŸãã ãããžã§ã¯ãackrcã¯æåã®ackrcã§ã
ã.ackrcããŸãã¯ã_ackrcããšããååã®ãã¡ã€ã«ãæåã«çŸåšã®ãã£ã¬ã¯ããªãæ€çŽ¢ãã
次ã«èŠªãã£ã¬ã¯ããªã次ã«ç¥ç¶æ¯ãã£ã¬ã¯ããªãªã©ãããã¯çç¥ã§ããŸã
ã--noenvãã䜿çšã
· --ackrc
ã--ackrcããªãã·ã§ã³ãã³ãã³ãã©ã€ã³ã«å«ããŠãackrc ãã¡ã€ã«ãæå®ããããšãã§ããŸãã
ä»ã®ãã¹ãŠããªãŒããŒã©ã€ãã§ããŸãã ã--noenvããååšããå Žåã§ãåç §ãããŸãã
· ACK_OPTIONS
次ã«ãç°å¢å€æ°ãACK_OPTIONSããããªãã·ã§ã³ãããŒããããŸãã ããã¯ããããšãã§ããŸã
ã--noenvãã§çç¥ã
ã» ã³ãã³ãã©ã€ã³
ãªãã·ã§ã³ã¯ãã³ãã³ã ã©ã€ã³ããèªã¿èŸŒãŸããŸãã
éã BETWEEN ACK 1.X ãã㊠ACK 2.X
ack 2 ã«ã¯å€ãã®å€æŽãå ããããŸããã ããã«ãããã®ãªã¹ãããããŸãã
å šè¬ç㪠CHANGES
· ã»ã¬ã¯ã¿ãŒãæå®ãããŠããªãå Žåãack 1.x ã¯ãããã§ãããã¡ã€ã«ã®ã¿ãæ€çŽ¢ããŸãã
ãã¡ã€ã«ã¿ã€ãã«ã å¯Ÿç §çã«ãack 2.x ã¯ãã¹ãŠã®éåžžã®éãã€ããªãæ€çŽ¢ããŸãã
çµç±ã§æ瀺çã«ç¡èŠãããŠããªããã¡ã€ã« --ignore-ãã¡ã€ã« or --ignore-dirã ããã¯
ã®åäœã«äŒŒãŠããŸãã -a/--ãã¹ãŠ ack 1.x ã®ãªãã·ã§ã³ã
· ããæè»ãªãã£ã«ã¿ãŒ ã·ã¹ãã ãè¿œå ããããã匷åãªãã¡ã€ã« ã¿ã€ãã䜿çšã§ããããã«ãªããŸããã
ãŠãŒã¶ãŒã«ãã£ãŠäœæãããŸãã 詳现ã«ã€ããŠã¯ããç¬èªã®åãå®çŸ©ããããåç §ããŠãã ããã
· ack ã¯è€æ°ã® ackrc ãã¡ã€ã«ãããŒãããããã«ãªããŸããã 詳现ã«ã€ããŠã¯ããACKRC LOCATION SEMANTICSããåç §ããŠãã ããã
· ack ã®ããã©ã«ãã®ãã£ã«ã¿ãŒå®çŸ©ã¯ç¹å¥ãªãã®ã§ã¯ãããŸããã ããªãã¯ackã«å®å šã«èšããããããŸãã
æ°ã«å ¥ããªããã°ç¡èŠããŠãã ããã
åé€ãããŸãã OPTIONS
· ããã©ã«ãã®æ€çŽ¢åäœãå€æŽãããããã -a/--ãã¹ãŠ ãš -u/--ç¡å¶é
ãªãã·ã§ã³ãåé€ãããŸããã å ã㊠-k/--æ¢ç¥ã®ã¿ã€ã ãªãã·ã§ã³ãè¿œå ãããŸãã
ack 1.x ã®ããã©ã«ãã®æ€çŽ¢åäœã§ ack ãåäœãããŸãã
ã» -G ãªãã·ã§ã³ãåé€ãããŸããã ã³ãã³ãã©ã€ã³ã® XNUMX ã€ã®æ£èŠè¡šçŸã¯
çŽãããããããšèããããŠããŸãã ã·ãã¥ã¬ãŒããã -Gã®æ©èœãæ°ãã -x
ãã¡ã€ã«åã ack ã®ããåŒã³åºãããå¥ã®åŒã³åºãã«ãã€ããããªãã·ã§ã³ã
ã» - ãã€ã㪠ãªãã·ã§ã³ã¯åé€ãããŸããã
ã» --ã¹ãããããŸãã ãªãã·ã§ã³ã¯åé€ãããŸããã
ã» - ããã¹ã ãªãã·ã§ã³ã¯åé€ãããŸããã
ã» --invert-file-match ãªãã·ã§ã³ãåé€ãããŸããã 代ããã«ã䜿çšããããšãã§ããŸã -v ã -g.
ããã£ã OPTIONS
· æ£èŠè¡šçŸã®åäœãå€æŽãããªãã·ã§ã³ (-i, -w, -Q, -v) ãããããŸãã
JOB -g.
ADDED OPTIONS
· --files-from ãŠãŒã¶ãŒããã¡ã€ã«åã®ãªã¹ãããã¡ã€ã«åã®ãªã¹ããšããŠéä¿¡ã§ããããã«è¿œå ãããŸãã
æ€çŽ¢ãããã¡ã€ã«ã
· -x æšæºå ¥åãä»ããŠãã¡ã€ã«åã®ãªã¹ããåãå ¥ããããã« ack ã«æ瀺ããããã«è¿œå ãããŸããã ãã®ãªã¹ã
æ€çŽ¢ã«äœ¿çšããããã¡ã€ã«åã®ãªã¹ãã§ãã
· -s ack ã«ãååšããªããèªã¿åããªããšãããšã©ãŒã¡ãã»ãŒãžãæå¶ããããã«æ瀺ããããã«è¿œå ãããŸãã
ãã¡ã€ã«ã
· --ignore-ãã£ã¬ã¯ã㪠㚠--noignore ãã£ã¬ã¯ã㪠ã®ãšã€ãªã¢ã¹ãšããŠè¿œå ãããŸãã --ignore-dir ãš
--noignore-dir ã
· --ignore-ãã¡ã€ã« ãŠãŒã¶ãŒãç¡èŠãããã¡ã€ã«ã®ãã¿ãŒã³ãæå®ã§ããããã«è¿œå ãããŸãã (äŸ:
/.*~$/)ã
· - ãã¿ ãŠãŒã¶ãŒãã©ã®ãªãã·ã§ã³ãã©ãã«èšå®ãããŠããããç°¡åã«èŠã€ããããããã«ããããã«è¿œå ãããŸããã
· --create-ackrc ãŠãŒã¶ãŒãã«åºã¥ããŠã«ã¹ã¿ã ackrcãã¡ã€ã«ãäœæã§ããããã«è¿œå ãããŸãã
ããã©ã«ãèšå®ã¯ ack ã«ãã£ãŠããŒãããããŠãŒã¶ãŒããããã®ããã©ã«ããç°¡åã«è¡šç€ºã§ããããã«ããŸãã
· --type-del ãã¡ã€ã«ã¿ã€ãã®å®çŸ©ãéžæçã«åé€ããããã«è¿œå ãããŸããã
· --ignore-ack-defaults ãŠãŒã¶ãŒã ack ã®ããã©ã«ã ãªãã·ã§ã³ãç¡èŠã§ããããã«è¿œå ãããŸããã
èªåã®å¥œæã
· - ã㌠ack ãŠãŒã¶ãŒã Admiral Ackbar ã«çžè«ã§ããããã«è¿œå ãããŸããã
onworks.net ãµãŒãã¹ã䜿çšããŠãªã³ã©ã€ã³ã§ ack-grepp ã䜿çšãã