แแแแแ แแแแฎแ แแ แแ แแ แกแแซแแแแ แแ แแแ แแแแก แจแแกแแฎแแ, แ แแแแแแช แแแแจแแแแแแแแแ แแแแ แขแแแแแก แชแฎแแแ แแแแก. แ แแชแ แกแแ แแแ แแ แแแแแแแแ แแ แ แแฆแแชแแก แซแแแแ แแญแแ แแแแ, แแแ แแแแ แ แแช แแแแแแแ แแ แแก แแ แแก แแฃ แแ แ แแแแแกแขแแแแ แแแฃแแ ack-แแก แจแแแแฌแแแแ. แแก แฃแขแแแแขแ แแ แแก แจแแกแแแแจแแแแ แฉแแแแชแแแแแ grep-แแกแแแแก, แแกแแแ แ แแแแ แช find-แแกแ แแ wc-แแกแแแแก แแแ แแแแฃแแฌแแแแ. แ แแขแแ แแ แ grep? Ack-แก แแฅแแก แฃแคแ แ แแแแแแ แแแ แแแแขแ แแแ, แฃแคแ แ แแแขแ แแแแแแแแแกแแแแก แฌแแกแแแแแฎแ แแแ แแแแขแ แแแ, perl regex แแ แแแแคแแแฃแ แแชแแแก แกแแกแขแแแ. แแฃ แแแแฌแแแ (แฃแแแ) แแแซแแแแแ แขแแ แแแแแแแก แแแจแแแแแแ, แแแจแแ แแฃแชแแแแแแแ แฃแแแ แกแชแแแแ.
แซแแ แแแแแ แแแฎแแกแแแแแแแแแ
Ack แแแแฃแแแกแฎแแแแแ แ แแแฃแ แกแแฃแแแ แแ แแแแแแแ แแแ แแแแขแแแแก แแแฌแแ แ แงแแแแแแแแก แแแ แแ แแแแแ.
แฉแแแ แจแแแแแซแแแ แแแแแแแงแแแแ แแ แแจแ -wแแฃแแฎแ แแ แฃแขแแแแขแแก, แแแซแแแแแก แฉแแแแ แแแแฃแจแแก แแแแแแแแ, แ แแแแแแช แแแ แจแแแแ แขแงแแฃแแแ แกแแขแงแแแแแก แกแแแฆแแ แแแแ (แกแแแ แชแ, แแแแแแ แแ แ.แจ.).
ack -w mysql
Ack แแฎแแ แก แฃแญแแ แก แซแแแแแก แคแแแแแก แขแแแแก แแแฎแแแแแ. แแแแแแแแแ, แแแแ แแแแแแแ แแแแฃแแแก แแแ แกแแ json แคแแแแแแจแ.
ack --json '"version":s+"d+.d+.d+"'
แแฎแแ แแแญแแ แแแ แคแแแแแก แขแแแแแแก แกแ แฃแแ แกแแ แจแแแแซแแแแ แแแฎแแ แจแแแแแแ แแแแแงแแแแแแ:
ack --help-types
แฎแจแแ แแ แกแแญแแ แแ แแแแแแแแ แ แแแแแแฏแแ แแแแแฉแแแแแ แคแ แแแ แแฃแ แแแแแก แคแแแแจแ, แแแแแแแแแ, แแแแก แแแกแแแแแแ, แแฃ แ แแแแแ แแแแแชแแแก แแแฃแจแแแแแก แกแแ แแแขแ.
แฉแแแ แแแแแแแ แ แแแแแแฏแแ แฎแแแแ แแ แแชแแกแ test.log แคแแแแจแ, แจแแแแฎแแแแแก แแแ แแจแ (-i).
แฉแแแ แจแแแแแซแแแ แแแแแแแแแ แแแแแแแแแ แแ แ แแฎแแแแ แแ แ แแแแแ แแขแฃแ แคแแแแจแ, แแ แแแแ แฏแแฃแคแจแ. แแแแแ แแแแแกแ แฃแแแ แฌแแแ แซแแแแ แกแแขแงแแ mysql: แแแแแแแแแ แกแแขแงแแแแแก แแแฉแแแแก แ แแแแแแแแ (-แ แแแแแแ) *.js แคแแแแแแจแ(--js), แคแแแแแแแก แแแแแแแแแแ, แ แแแแแแจแแช แแ แแคแแ แแ แแแแแแแ (-h) แแ แจแแแแแแก แจแแฏแแแแแ.
# ะฒัะฒะตะดะตะผ ะฝะฐ ัะบัะฐะฝ ะฒัะต ะฒั
ะพะถะดะตะฝะธั
ack --js -w mysql
# ััะธัะฐะตะผ ะพะฑััั ััะผะผั ะฒั
ะพะถะดะตะฝะธะน
ack --js -wch mysql
แแแ แแ แแแแกแ, แฉแแแ แจแแแแแซแแแ แแแแแฆแแ แแแขแแแฃแ แ แแแแแ แแจแ แแแแแแฃแ แคแแแแจแ แจแแแแฎแแแแแแแก แ แแแแแแแแแก แจแแกแแฎแแ (-l)
ack --js -w -cl mysql
แแฃ แแญแแ แแแแแ แแแแแขแแแแแ แแแแขแแฅแกแขแ แแฅแแแแ แซแแแแแกแแแแก, แจแแแแซแแแแ แแแแแฎแแแแ แแแแแกแขแฃแ แแแ
แฎแแแแแแก แฉแแแแแแ แแแ (-B) แแ แจแแแแแ (-A) แแแแแแแ แแแแแฎแแขแแแก. แแแแกแแแแแก แแฅแแแ แฃแแแ แแแฃแแแแแ แแคแชแแแก แจแแแแแ แฎแแแแแแก แ แแแแแแแแ, แ แแแแแแแช แฃแแแ แแงแแก แแแฉแแแแแแ.
# 2 ัััะพะบะธ ะดะพ
ack --js --column -B 2 "query.once('" ./lib/
# 2 ัััะพะบะธ ะฟะพัะปะต
ack --js --column -A 2 "query.once('" . /lib/
แแ แแฃ แแ แแแ แแญแแ แแแแแ, แแแแแแงแแแแ (-C)
ack --js --column -C 2 "query.once('" ./lib/
แแกแแแ แแ แแก แแแ แแแแขแ (-v) แซแแแแแก แแแแแ แกแแแกแแแแก, แแแฃ แฎแแแแแแก แฉแแแแแแ, แ แแแแแแแช แแ แจแแแชแแแก แแแชแแแฃแ แจแแแแแแก.
แ แแแฃแแแ แฃแแ แแแแแฎแแขแฃแแแแ
Ack, grep-แแกแแแ แแแแกแฎแแแแแแแ, แแงแแแแแก Perl แแแแกแแแแ แแแแแแแแฅแแแแแแก.
แฉแแแแแแก แแก แแแแ แแแฃแกแแ; แแ แแ แแญแแ แแแแ แชแแแแ แกแแแขแแฅแกแแก แแแแแฎแกแแแ แแแ แ แแแฃแแแ แฃแแ แแแแแแแแฅแแแแแแแกแแแแก.
ack 'vars+adds+'
แฃแคแ แ แ แแฃแแ แแแแแแแแ
ack '*s+[vd+.d+.d+]'
แฎแจแแ แแ แแกแฃแ แ แแแขแแแแ แจแแแแแแแ แแฎแแแแ แแก, แ แแช แแแแฎแแแแ แจแแแแแแก. --output แแแ แแแแขแ แแฅ แแแแแฎแแแ แแแแ (-o)
ack -o '*s+[vd+.d+.d+]'
แแแ แแ แแแแกแ, แคแ แฉแฎแแแแแแก แแแแแงแแแแแแ แจแแแแแซแแแ แจแแแแ แฉแแแ แแแแแแแ แแแฌแแแ แแ แจแแแแแแ แแแก แแแแแกแแแแแจแ $[group number] แชแแแแแแก แแแจแแแแแแ. แฒแแแแแแแแ,
ack --output='version is $1' '*s+[v(d+.d+.d+)]'
แแแก แแฅแแก แกแแกแแ แแแแแ แแแ แแแแขแแแ -- แแแแแแแแแ-แแแฌแงแแแ ะธ -- แแแแแแแแแ-แแแแ. แแฎแแแ แแแแแ แ แแชแ
แแแแแชแแแแแ แแแแฎแแแ แแ แ แแ แ แกแขแ แแฅแแแจแ, แแ แแแแ แแ แแแแแฎแแแแแแแ แคแแ แแแ.
แแแแแแแแแ, แแ แแก แคแแแแ sql แแแแแ
แแแแแ แแแแแแงแแ แกแแแขแแแแก แกแแฎแแแแแ. แแแแแแก แแแกแแฌแงแแกแ แแฅแแแแ แฎแแแ, แ แแแแแแช แแฌแงแแแ SELECT-แแ, แฎแแแ แแแกแแกแ แฃแแ แแฅแแแแ แฎแแแ, แ แแแแแแช แแฌแงแแแ FROM-แแ.
ack --range-start ^SELECT --range-end ^FROM 'td+.' ./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 แแแ แแแแขแ แคแแแแแแแก แแแกแแซแแแแแ .แแฃ. แฒแแแแแแแแ: ack --vue แแแแแแแชแแ.
แแ แแแ แแแแขแ แแกแแแแก แจแแแแซแแแแ แแแฃแแแแแ แแแคแแ แแแแแแแแก แกแแ. แแแแแแแแแ, แแฅ, -vue-แก แแแแแงแแแแแแกแแก แแแแฃแจแแแแแแ แจแแแแแแ: .js แคแแแแแแ.
แคแแแแแแแก แแแแแ แแ แแแ, แแแแแแแแแ minified *.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 แฃแขแแแแขแ แกแแจแฃแแแแแแก แแแซแแแแ แแแฎแแแแ แขแแ แแแแแแจแ แซแแแแ แฃแคแ แ แแแกแแฎแแ แฎแแแแแ แแ แแแฅแแแแ. แแ แแแแกแแแแแแก แแแแแงแแแแแแ (ack -C 10 แแแแแ แฏแแแ | แแฆแแแ แ แกแแแงแแ แ) แจแแแแซแแแแ แจแแฅแแแแ แซแแแแ แ แแแแแแแแ แคแแแแฃแ แกแแกแขแแแแจแ แแ แแแแแ แคแแแแแแจแ แแแแแชแแแแแแก แกแแซแแแแแแ แแ แแแกแแคแแแขแ แแ.
แฌแงแแ แ: www.habr.com