เบเปเบญเบเบขเบฒเบเบเบญเบเปเบเบปเปเบฒเบเปเบฝเบงเบเบฑเบเปเบเบทเปเบญเบเบกเบทเบเบปเปเบเบซเบฒเบญเบฑเบเปเบถเปเบเบเบตเปเปเบฎเบฑเบเปเบซเปเบเบตเบงเบดเบเบเปเบฒเบเบเบถเปเบเบซเบผเบฒเบ. เปเบกเบทเปเบญเบเปเบญเบเปเบเบซเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบฅเบฐเบเปเบญเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบญเบเบซเบฒเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบ, เบชเบดเปเบเบเปเบฒเบญเบดเบเบเบตเปเบเปเบญเบเปเบฎเบฑเบเปเบกเปเบเบเบงเบเปเบเบดเปเบเบงเปเบฒเบกเบตเบเบฒเบเบเบดเบเบเบฑเปเบ ack. เบเบปเบเบเบฐเปเบซเบเบเบเบตเปเปเบกเปเบเบเบฒเบเบเบปเบเปเบเบเบเบตเปเบเบตเปเบฅเบตเบเบชเปเบฒเบฅเบฑเบ grep, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฒเบเบเบญเบเบซเบฒเปเบฅเบฐ wc เปเบเบเบฒเบเบเบญเบเปเบเบ. เปเบเบฑเบเบซเบเบฑเบเบเปเป grep? Ack เบกเบตเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเบเบตเบเบงเปเบฒเบญเบญเบเบเบฒเบเบเปเบญเบ, เบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบกเบฐเบเบธเบเบญเปเบฒเบเปเบเปเบซเบผเบฒเบเบเบถเปเบ, perl regex เปเบฅเบฐเบฅเบฐเบเบปเบ config. เบเปเบฒเปเบเบปเปเบฒเบกเบฑเบ (เบเปเบญเบ) เบเบปเปเบเบซเบฒเบเปเบฒเบ terminal, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบเบงเบเบฅเบญเบเบกเบฑเบเบขเปเบฒเบเปเบเปเบเบญเบ.
เบเบธเบเบชเบปเบกเบเบฑเบเบเบทเปเบเบเบฒเบ
Ack เปเบกเปเบ recursive เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เปเบฅเบฐเบเบฒเบเบเบฝเบเบเบฒเบเปเบฅเบทเบญเบเบซเบเปเบญเบเปเบกเปเบเบชเบฐเปเบซเบกเบตเปเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบเบต.
เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบเปเบเบธเบ -wเปเบเบทเปเบญเบเบญเบเบเบปเบเบเบฐเปเบซเบเบเปเบซเปเบเบญเบเบซเบฒเบเบปเบงเบขเปเบฒเบเบเบญเบเบฎเบนเบเปเบเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบตเปเบญเปเบญเบกเบฎเบญเบเบเปเบงเบเบเบญเบเปเบเบเบเปเบฒเบชเบฑเบ (whitespace, slashes, เปเบฅเบฐเบญเบทเปเบเป).
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
เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบชเบฐเบเบฒเบเบเบฒเบเปเบเบตเปเบกเปเบเบตเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเปเบเบซเบฒเบเบญเบเบเปเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฒเบก 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) เปเบเบทเปเบญเบเบตเปเบเบเบฒเบเบเบปเปเบเบซเบฒ, i.e. เบชเบฐเปเบเบเปเบชเบฑเปเบเบเบตเปเบเปเปเบกเบตเบฎเบนเบเปเบเบเบเบตเปเปเบซเปเปเบงเป.
เบเบฒเบเบชเบฐเปเบเบเบญเบญเบเปเบเบฑเบเบเบปเบเบเบฐเบเบด
Ack, เบเปเปเปเบซเบกเบทเบญเบเบเบฑเบ grep, เปเบเปเบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบตเปเปเบเบปเปเบฒเบเบฑเบเปเบเป Perl.
เบชเปเบฒเบฅเบฑเบเบเปเบญเบเบเบตเปเปเบกเปเบเบเบงเบเปเบซเบเป; เบเปเบญเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบทเป syntax เปเบเบเบเปเบฒเบเบซเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบปเบเบเบฐเบเบด.
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+)]'
Ack เบกเบตเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบ --range-start ะธ --range-end. เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเบเปเบงเบเปเบเปเบงเบฅเบฒเบเบตเป
เบเปเปโเบกเบนเบโเปเบเปโเบเบทเบโเปเบเบฑเบโเบฎเบฑเบโเบชเบฒโเปเบงเปโเบเปเปโเปเบเปโเบขเบนเปโเปเบโเปเบเบงโเบเบฝเบงโ, เปเบเปโเบงเปเบฒโเปเบโเบฎเบนเบโเปเบเบโเบซเบผเบฒเบโเปเบเบงโ.
เบเบปเบงเบขเปเบฒเบ, เบกเบตเปเบเบฅเปเบเบตเปเบกเบตเบฅเบฐเบซเบฑเบ 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$'
เบเบฒเบเบเบฑเปเบเบเปเบฒ
เบเบปเบเบเบฐเปเบซเบเบเบกเบตเปเบเบฅเป config เบเบญเบเบเบปเบเปเบญเบ. เบเปเบฒเบเบชเบฒเบกเบฒเบเบกเบตเบเบฑเบ config เบเบปเปเบงเปเบฅเบเบชเปเบฒเบฅเบฑเบเบเบนเปเปเบเป (~/.ackrc) เปเบฅเบฐเบเปเบญเบเบเบดเปเบเบชเปเบฒเบฅเบฑเบเปเบเบเปเบเบตเบชเบฐเปเบเบฒเบฐ (เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเปเบฒเบเปเบเบฅเป .ackrc เปเบเปเบเบเปเบเบต).
เบเบปเบงเปเบฅเบทเบญเบเบชเปเบงเบเปเบซเบเปเบเบตเปเบเบทเบเบเบฝเบเปเบงเปเปเบ configs เบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเบเบปเบเบเปเบงเบเบเบปเบเปเบญเบเปเบกเบทเปเบญเบเบทเบเปเบญเบตเปเบ. เปเบซเปเปเบเบดเปเบเบขเบนเปเปเบเบเปเบฒเบเบงเบเบซเบเปเบญเบเบเบญเบเบเบงเบเปเบเบปเบฒ.
เบเปเปเบชเบปเบเปเบเปเบเบเปเบเบตเปเบเปเบงเบฅเบฒเบเบญเบเบซเบฒ
--ignore-dir=dist
เบกเบฒเปเบเบตเปเบกเบเบฐเปเบเบเปเบเบฅเปเปเบเบเบเบณเบเบปเบเปเบญเบ -vue.
--type-add=vue:ext:js,vue
เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเบฒเบเปเบฅเบทเบญเบ --vue เปเบเบทเปเบญเบเบญเบเบซเบฒเปเบเบฅเป .vue. เบเบปเบโเบเบปเบงโเบขเปเบฒเบ: ack --vue เปเบญเบฑเบ.
เบเปเบฒเบเบชเบฒเบกเบฒเบเบฅเบฐเบเบธเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบชเปเบงเบเบเบฐเบซเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเป. เบเบปเบงเบขเปเบฒเบ, เบขเบนเปเบเบตเปเบเบตเป, เปเบกเบทเปเบญเปเบเป -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 เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบเบฒเบเบเบญเบเบซเบฒเบขเบนเปเปเบ terminal เปเบเปเบชเบฐเบเบงเบเบเบถเปเบเปเบฅเบฐเบกเบตเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบ. เปเบฅเบฐโเบเบฒเบโเบเปเบฒโเปเบเปโเบเปเป (ack -C 10 เบชเบฐเบเบฒเบเบเบต | เปเบฅเบ ack) เบเปเบฒเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเปเบเบซเบฒเปเบฅเบฐเบเบฒเบเบเบฑเปเบเบเบญเบเบเปเปเบกเบนเบเปเบเบฅเบฐเบเบปเบเปเบเบฅเปเปเบฅเบฐเปเบเปเบเบฅเปเบเปเบงเบเบเบปเบเปเบญเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com