เชนเซเช เชคเชฎเชจเซ เชเช เชถเซเชง เชเชชเชฏเซเชเชฟเชคเชพ เชตเชฟเชถเซ เชเชนเซเชตเชพ เชฎเชพเชเชเซ เชเซเช เชเซ เชเซเชตเชจเชจเซ เชฎเซเชเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช เชธเชฐเชณ เชฌเชจเชพเชตเซ เชเซ. เชเซเชฏเชพเชฐเซ เชนเซเช เชธเชฐเซเชตเชฐ เชชเชฐ เชชเชนเซเชเชเซเช เชเซเช เช เชจเซ เชฎเชพเชฐเซ เชเชเชเช เชถเซเชงเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ เชเซ, เชคเซเชฏเชพเชฐเซ เชนเซเช เชเซ เชเชฐเซเช เชเซเช เชคเซ เชชเซเชฐเชฅเชฎ เชตเชธเซเชคเซ เช เชเซ เชเซ ack เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒเซเช เชเซ เชเซ เชจเชนเซเช. เช เชฏเซเชเชฟเชฒเชฟเชเซ grep เชฎเชพเชเซ เชเชคเซเชคเชฎ เชฐเชฟเชชเซเชฒเซเชธเชฎเซเชจเซเช เชเซ, เชคเซเชฎเช เช เชฎเซเช เช เชเชถเซ find เช เชจเซ wc. เชถเชพ เชฎเชพเชเซ grep เชจเชฅเซ? Ack เชชเชพเชธเซ เชฌเซเชเซเชธเชจเซ เชฌเชนเชพเชฐ เชธเชพเชฐเซ เชธเซเชเชฟเชเชเซเชธ เชเซ, เชตเชงเซ เชฎเชพเชจเชต-เชตเชพเชเชเซ เชถเชเชพเชฏ เชคเซเชตเชพ เชตเชฟเชเชฒเซเชชเซ, เชชเชฐเซเชฒ เชฐเซเชเซเชเซเชธ เช เชจเซ เชฐเซเชชเชฐเซเชเชพ เชธเชฟเชธเซเชเชฎ เชเซ. เชเซ เชคเชฎเชจเซ เชเชฐเซเชฎเชฟเชจเชฒ เชฆเซเชตเชพเชฐเชพ เชถเซเชงเชตเซเช เชเชฎเชคเซเช เชนเซเชฏ, เชคเซ เชคเชฎเชพเชฐเซ เชเซเชเซเชเชธเชชเชฃเซ เชคเซเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเชตเซ เชเซเชเช.
เชฎเซเชณเชญเซเชค เชฒเชเซเชทเชฃเซ
Ack เชฎเซเชณเชญเซเชค เชฐเซเชคเซ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชเซ, เช เชจเซ เชเชเชพ เชตเชฟเชเชฒเซเชชเซ เชฒเชเชตเชพ เชนเชเชฎเซเชถเชพ เชธเชพเชฐเซ เชตเชฟเชเชพเชฐ เชเซ.
เชเชชเชฃเซ เชงเซเชตเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซเช เชเซเช -wเชถเชฌเซเชฆเชจเซ เชธเซเชฎเชพเช (เชตเซเชนเชพเชเชเชธเซเชชเซเชธ, เชธเซเชฒเซเชถ, เชตเชเซเชฐเซ)เชฅเซ เชเซเชฐเชพเชฏเซเชฒเซ เช เชฎเชพเชฐเซ เชชเซเชเชฐเซเชจเชจเซ เชฆเชพเชเชฒเซ เชเซเชตเชพ เชฎเชพเชเซ เชเชชเชฏเซเชเชฟเชคเชพเชจเซ เชเชนเซเชตเซเช.
ack -w mysql
Ack เชซเชพเชเชฒ เชชเซเชฐเชเชพเชฐ เชฆเซเชตเชพเชฐเชพ เชถเซเชงเชจเซ เชธเชชเซเชฐเซเช เชเชฐเซ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเชพเชฒเซ json เชซเชพเชเชฒเซเชฎเชพเช เชฎเซเชกเซเชฏเซเชฒ เชตเชฐเซเชเชจ เชถเซเชงเซเช.
ack --json '"version":s+"d+.d+.d+"'
เชธเชชเซเชฐเซเชเซเชก เชซเชพเชเชฒ เชชเซเชฐเชเชพเชฐเซเชจเซ เชธเชเชชเซเชฐเซเชฃ เชธเซเชเชฟ เชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเช เชถเชเชพเชฏ เชเซ:
ack --help-types
เชเชฃเซเชตเชพเชฐ เชคเชฎเชพเชฐเซ เชเชฃเชคเชฐเซ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชเซ เชฒเซเช เชซเชพเชเชฒเชฎเชพเช เชถเชฌเซเชฆเชธเชฎเซเชน เชเซเชเชฒเซ เชตเชพเชฐ เชฆเซเชเชพเชฏ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชธเซเชเซเชฐเชฟเชชเซเชเซ เชเซเชเชฒเซ เชกเซเชเชพ เชชเซเชฐเซเชธเซเชธ เชเชฐเซเชฏเซ เชเซ เชคเซ เชธเชฎเชเชตเชพ เชฎเชพเชเซ.
เช
เชฎเซ เชเชฃเชคเชฐเซ เชเชฐเซเช เชเซเช เชเซ test.log เชซเชพเชเชฒเชฎเชพเช เชเซเชเชฒเซ เชตเชเชค เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฅเชพเชฏ เชเซ, เชเซเชธเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชงเชพ เชตเชเชฐ (-i).
เช เชฎเซ เชเชเชจเชพเชเชจเซ เชฎเชพเชคเซเชฐ เชเช เชเซเชเซเชเชธ เชซเชพเชเชฒเชฎเชพเช เชจเชนเซเช, เชชเชฐเชเชคเซ เชเช เชเซเชฅเชฎเชพเช เชเชฃเซ เชถเชเซเช เชเซเช. เชเชพเชฒเซ mysql เชถเชฌเซเชฆ เชฎเชพเชเซ เช เชเชพเชเชจเซ เชถเซเชงเชจเซ เช เชเชคเชฟเชฎ เชธเซเชตเชฐเซเชช เชเชชเซเช: เชถเชฌเซเชฆเซเชจเซ เชเชเชจเชพเชเชจเซ เชธเชเชเซเชฏเชพ เชเชฃเซ (-เชเชธ) *.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) เชถเซเชงเชจเซ เชเชเชงเซ เชเชฐเชตเชพ เชฎเชพเชเซ, เชเชเชฒเซ เชเซ เชเชชเซเชฒ เชชเซเชเชฐเซเชจ เชงเชฐเชพเชตเชคเซ เชจ เชนเซเชฏ เชคเซเชตเซ เชฐเซเชเชพเช เชฌเชคเชพเชตเซ.
เชจเชฟเชฏเชฎเชฟเชค เชธเชฎเซเชเชฐเชฃ
Ack, grepเชฅเซ เชตเชฟเชชเชฐเซเชค, เชชเชฐเซเชฒ เชธเซเชธเชเชเชค เช
เชญเชฟเชตเซเชฏเชเซเชคเชฟเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ.
เชฎเชพเชฐเชพ เชฎเชพเชเซ เช เชเช เชฎเซเชเซ เชตเชคเซเชคเชพ เชเซ; เชฎเชพเชฐเซ เชฐเซเชเซเชฏเซเชฒเชฐ เชเชเซเชธเชชเซเชฐเซเชถเชจ เชฎเชพเชเซ เช
เชฒเช เชธเชฟเชจเซเชเซเชเซเชธ เชฏเชพเชฆ เชฐเชพเชเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ.
ack 'vars+adds+'
เชตเชงเซ เชเชเชฟเชฒ เชเชฆเชพเชนเชฐเชฃ
ack '*s+[vd+.d+.d+]'
เชเชฃเซเชตเชพเชฐ เชคเชฎเซ เชชเชฐเชฟเชฃเชพเชฎเซเชฎเชพเช เชซเชเซเชค เชคเซ เช เชเซเชกเชตเชพ เชฎเชพเชเชเซ เชเซ เชเซ เชจเชฎเซเชจเชพ เชธเชพเชฅเซ เชฎเซเชณ เชเชพเชฏ เชเซ. --เชเชเชเชชเซเช เชตเชฟเชเชฒเซเชช เช เชนเซเช เชฎเชฆเชฆ เชเชฐเชถเซ (-o)
ack -o '*s+[vd+.d+.d+]'
เชตเชงเซเชฎเชพเช, เชเซเชเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชชเชฃเซ เชฎเชณเซเชฒเชพ เชญเชพเชเชจเซ เชชเชธเชเชฆ เชเชฐเซ เชถเชเซเช เชเซเช เช เชจเซ $[เชเซเชฐเซเชช เชจเชเชฌเชฐ] เชตเซเชฐเซเชเชฌเชฒ เชฆเซเชตเชพเชฐเชพ เชคเซเชจเซ เชเชเชเชชเซเชเชฎเชพเช เชเชเซเชธเซเชธ เชเชฐเซ เชถเชเซเช เชเซเช. เชฆเชพเชเซเชฒเชพ เชคเชฐเซเชเซ,
ack --output='version is $1' '*s+[v(d+.d+.d+)]'
Ack เชชเชพเชธเซ เชเชชเชฏเซเชเซ เชตเชฟเชเชฒเซเชชเซ เชเซ --เชถเซเชฐเซเชฃเซ-เชชเซเชฐเชพเชฐเชเชญ ะธ --เชถเซเชฐเซเชฃเซ-เช
เชเชค. เชเซเชฏเชพเชฐเซ เชคเซเช เชฎเชฆเชฆ เชเชฐเซ เชเซ
เชกเซเชเชพ เชเช เชฒเชพเชเชจเชฎเชพเช เชจเชนเซเช, เชชเชฐเชเชคเซ เชฌเชนเซ-เชฒเชพเชเชจ เชธเซเชตเชฐเซเชชเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค เชฅเชพเชฏ เชเซ.
เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, sql เชเซเชกเชตเชพเชณเซ เชซเชพเชเชฒ เชเซ
เชเชพเชฒเซ เชเซเชฒเชฎเชจเชพ เชจเชพเชฎ เชเชพเชขเซเช. เชฌเซเชฒเซเชเชจเซ เชถเชฐเซเชเชค SELECT เชฅเซ เชถเชฐเซ เชฅเชคเซ เชฒเชพเชเชจ เชนเชถเซ เช เชจเซ เช เชเชค FROM เชฅเซ เชถเชฐเซ เชฅเชคเซ เชฒเชพเชเชจ เชนเชถเซ.
ack --range-start ^SELECT --range-end ^FROM 'td+.' ./test.sql
เชเซ เชถเซเชง เช เชญเชฟเชตเซเชฏเชเซเชคเชฟเชฎเชพเช เชตเชฟเชถเชฟเชทเซเช เช เชเซเชทเชฐเซ เชเซเชฎ เชเซ เชชเซเชฐเชฟเชฏเชก, เชเซเชเชธ เช เชจเซ เช เชจเซเชฏ เชนเซเชฏ, เชคเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชเชเซ เชจ เชเชพเชฏ เชคเซ เชฎเชพเชเซ, เชคเชฎเซ เชตเชฟเชเชฒเซเชชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ. -Q.
# ะะพะธัะบ ั ัะบัะฐะฝะธัะพะฒะฐะฝะธะตะผ
ack --json 'mysql.'
# ะะพะธัะบ ะฑะตะท ัะบัะฐะฝะธัะพะฒะฐะฝะธั
ack --json -Q mysql.
เชซเชพเชเชฒเซ เชธเชพเชฅเซ เชเชพเชฎ
เชเซเชเซเชเชธ เชเชเซเชธเซเชเซเชเชถเชจ เชธเชพเชฅเซ เชซเชพเชเชฒเซเชจเซ เชธเซเชเชฟ เชฎเซเชณเชตเซ
ack -f --js
เชตเชฟเชเชฒเซเชช (-g).
ack -g --js '/Pa.+.js$'
เชฐเซเชชเชฐเซเชเชพเชเชเชจ
เชเชชเชฏเซเชเชฟเชคเชพ เชชเชพเชธเซ เชคเซเชจเซ เชชเซเชคเชพเชจเซ เชฐเซเชชเชฐเซเชเชพ เชซเชพเชเชฒ เชเซ. เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชฎเชพเชเซ เชตเซเชถเซเชตเชฟเช เชฐเซเชชเชฐเซเชเชพ (~/.ackrc) เช เชจเซ เชเซเชเซเชเชธ เชซเซเชฒเซเชกเชฐ เชฎเชพเชเซ เชธเซเชฅเชพเชจเชฟเช เชฌเชเชจเซ เชนเซเช เชถเชเซ เชเซ (เชคเชฎเชพเชฐเซ เชซเซเชฒเซเชกเชฐเชฎเชพเช .ackrc เชซเชพเชเชฒ เชฌเชจเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ).
เชฐเซเชชเชฐเซเชเชพเชฎเชพเช เชฒเชเซเชฒเชพ เชฎเซเชเชพเชญเชพเชเชจเชพ เชตเชฟเชเชฒเซเชชเซ เชเซเชฏเชพเชฐเซ เชฌเซเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชคเซเชฏเชพเชฐเซ เชฎเซเชจเซเชฏเซเช เชฒเซ เชธเซเชชเชทเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ. เชเชพเชฒเซ เชคเซเชฎเชพเชเชฅเซ เชฅเซเชกเชพเช เชเซเชเช.
ะะณะฝะพัะธัะพะฒะฐัั ะฟะฐะฟะบั ะฟัะธ ะฟะพะธัะบะต
--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
เชเชฌเซเชจเซเชเซ
apt-get update -y && apt-get install ack-grep -y
เชฎเซเช เชเชเชธ
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