рдПрдХрд░ рдмреЗрд╣рддрд░ grep

рдореИрдВ рдПрдХ рдЦреЛрдЬ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдЬреАрд╡рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреА рд╣реИред рдЬрдм рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛрддреА рд╣реИ, рддреЛ рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдЬреЛ рдореИрдВ рдЪреЗрдХ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдРрдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ grep рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИ, рд╕рд╛рде рд╣реА рдХреБрдЫ рд╣рдж рддрдХ wc рдХреЛ рднреА рдвреВрдВрдврддреА рд╣реИред рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЬреАрдЖрд░рдИрдкреА? Ack рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЕрдЪреНрдЫреЗ-рд╕реЗ-рдкрдврд╝реЗ рдЬрд╛рдиреЗ рдпреЛрдЧреНрдп рд╡рд┐рдХрд▓реНрдк, рдкрд░реНрд▓ рд░реЗрдЧреБрд▓рд░ рдФрд░ рдПрдХ рдХреЙрдиреНрдлрд┐рдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИред рдЖрдк рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ рддреЛ(рдпрд╣ рдХрд░рдирд╛ рд╣реИ) рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрдЬ, рддреЛ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред


рдмреБрдирд┐рдпрд╛рджреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ


Ack рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╣реИ, рдФрд░ рдХрдо рд╡рд┐рдХрд▓реНрдк рд▓рд┐рдЦрдирд╛ рд╣рдореЗрд╢рд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИред


рд╢рдмреНрдж рд╕реАрдорд╛ (рд╢реНрд╡реЗрдд рдЕрдВрддрд░рд┐рдХреНрд╖ рд╡рд░реНрдг, рдПрдХ рд╕реНрд▓реИрд╢, рдЖрджрд┐) рд╕реЗ рдШрд┐рд░реЗ, рдЕрдкрдиреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо -w рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред


ack -w mysql


Ack рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░ рдЦреЛрдЬреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, json рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдвреВрдВрдвреЗрдВред


ack --json '"version":\s+"\d+\.\d+\.\d+"'


рд╕рдорд░реНрдерд┐рдд рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдПрдХ рдкреВрд░реА рд╕реВрдЪреА рдЗрд╕рдХреЗ рд╕рд╛рде рдорд┐рд▓ рд╕рдХрддреА рд╣реИ:


ack --help-types

рдЕрдХреНрд╕рд░ рдпрд╣ рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХрд┐рддрдиреА рдмрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рддрдирд╛ рдбреЗрдЯрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреА рд╣реИред



рд╣рдо рдЧрд┐рдирддреА рдХрд┐рддрдиреА рдмрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ test.log рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реЛрддрд╛ рдХреЗрд╕ рд╕рдВрд╡реЗрджреА рдирд╣реАрдВ ( рдореИрдВ )ред


, . mysql: - (-) *.js (--js), (-h) .


#     
ack --js -w mysql
#    
ack --js -wch mysql


, - (-l)


ack --js -w -cl mysql


c, ack
(-B) (-A) . - , .


# 2   
ack --js --column -B 2 "query.once\('" ./lib/


# 2   
ack --js --column -A 2 "query.once\('" . /lib/


, (-)


ack --js --column -C 2 "query.once\('" ./lib/

(-v) , . .



Ack grep Perl .
, .


ack 'var\s+add\s+'



ack '\*\s+\[v\d+\.\d+\.\d+\]'


, . --output (-o)


ack -o '\*\s+\[v\d+\.\d+\.\d+\]'


, output $[ ]. ,


ack --output='version is $1' '\*\s+\[v(\d+\.\d+\.\d+)\]'


Ack --range-start --range-end. ,
, .


, sql



. SELECT, FROM.


ack --range-start ^SELECT --range-end ^FROM 't\d+\.' ./test.sql


, , \, -Q.


#    
ack --json 'mysql\.'    
#   
ack --json -Q mysql.




ack -f --js


js P*, (-g).


ack -g --js '\/Pa.+.js$'



. (~/.ackrc), ( .ackrc).


, . .



--ignore-dir=dist

--vue.


--type-add=vue:ext:js,vue

--vue, .vue. : ack --vue App.
. , --vue
.js .


, , *.min.js


--ignore-file=match:/\.min\.js$/


CentOS


yum update -y && yum install ack -y

Ubuntu


apt-get update -y && apt-get install ack-grep -y

Mac OS


brew update && brew install  ack


curl https://beyondgrep.com/ack-v3.3.1 > ~/bin/ack && chmod 0755 ~/bin/ack

:




. , :


ack тАУ-help
# 
ack --man

ack . pipeline (ack -C 10 hello | ack world) .


All Articles