Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

เบ‚เป‰เบญเบเบขเบฒเบเบšเบญเบเป€เบˆเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ„เบปเป‰เบ™เบซเบฒเบญเบฑเบ™เปœเบถเปˆเบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบŠเบตเบงเบดเบ”เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เบซเบผเบฒเบ. เป€เบกเบทเปˆเบญเบ‚เป‰เบญเบเป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปเบฅเบฐเบ‚เป‰เบญเบเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบŠเบญเบเบซเบฒเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡, เบชเบดเปˆเบ‡เบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบ‚เป‰เบญเบเป€เบฎเบฑเบ”เปเบกเปˆเบ™เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบกเบตเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ ack. เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบ—เบตเปˆเบ”เบตเป€เบฅเบตเบ”เบชเปเบฒเบฅเบฑเบš grep, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบŠเบญเบเบซเบฒเปเบฅเบฐ wc เปƒเบ™เบšเบฒเบ‡เบ‚เบญเบšเป€เบ‚เบ”. เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบšเปเปˆ grep? Ack เบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒเบญเบญเบเบˆเบฒเบเบเปˆเบญเบ‡, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบกเบฐเบ™เบธเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰เบซเบผเบฒเบเบ‚เบถเป‰เบ™, perl regex เปเบฅเบฐเบฅเบฐเบšเบปเบš config. เบ–เป‰เบฒเป€เบˆเบปเป‰เบฒเบกเบฑเบ (เบ•เป‰เบญเบ‡) เบ„เบปเป‰เบ™เบซเบฒเบœเปˆเบฒเบ™ terminal, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบ„เบงเบ™เบฅเบญเบ‡เบกเบฑเบ™เบขเปˆเบฒเบ‡เปเบ™เปˆเบ™เบญเบ™.

เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบžเบทเป‰เบ™เบ–เบฒเบ™

Ack เปเบกเปˆเบ™ recursive เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เปเบฅเบฐเบเบฒเบ™เบ‚เบฝเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบซเบ™เป‰เบญเบเปเบกเปˆเบ™เบชเบฐเป€เบซเบกเบตเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบ”เบต.

เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบ—เบธเบ‡ -wเป€เบžเบทเปˆเบญเบšเบญเบเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เปƒเบซเป‰เบŠเบญเบเบซเบฒเบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ—เบตเปˆเบญเป‰เบญเบกเบฎเบญเบšเบ”เป‰เบงเบเบ‚เบญเบšเป€เบ‚เบ”เบ„เปเบฒเบชเบฑเบš (whitespace, slashes, เปเบฅเบฐเบญเบทเปˆเบ™เป†).

ack -w mysql

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

Ack เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบŠเบญเบเบซเบฒเป‚เบ”เบเบ›เบฐเป€เบžเบ”เป„เบŸเบฅเปŒ. เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบซเป‰เบŠเบญเบเบซเบฒเบชเบฐเบšเบฑเบšเป‚เบกเบ”เบนเบ™เปƒเบ™เป„เบŸเบฅเปŒ json.

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

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเป€เบ•เบฑเบกเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เป„เบŸเบฅเปŒเบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰:

ack --help-types

เป€เบฅเบทเป‰เบญเบเป†เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ™เบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ›เบฐเป‚เบซเบเบเบ—เบตเปˆเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒเบšเบฑเบ™เบ—เบถเบ, เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบˆเปเบฒเบ™เบงเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบชเบฐเบ„เบดเบšเบ–เบทเบเบ›เบธเบ‡เปเบ•เปˆเบ‡.

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep
เบžเบงเบเป€เบฎเบปเบฒเบ™เบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ„เบฑเป‰เบ‡เบ—เบตเปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™เป„เบŸเบฅเปŒ test.log, เบšเปเปˆเป„เบ”เป‰เบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบเปเบฅเบฐเบ™เบต (-i).

เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ™เบฑเบšโ€‹เป€เบซเบ”โ€‹เบเบฒเบ™โ€‹เบšเปเปˆโ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เบขเบนเปˆโ€‹เปƒเบ™โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹, เปเบ•เปˆโ€‹เบงเปˆเบฒโ€‹เปƒเบ™โ€‹เบเบธเปˆเบกโ€‹. เบ‚เปเปƒเบซเป‰เบชเบฐเบซเบผเบธเบšเบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบชเปเบฒเบฅเบฑเบšเบ„เปเบฒ mysql: เบ™เบฑเบšเบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เบ„เปเบฒ (- เบช) เปƒเบ™เป„เบŸเบฅเปŒ *.js(--js), เบšเปเปˆโ€‹เบฅเบงเบกโ€‹เป€เบญเบปเบฒโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบ—เบตเปˆโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบซเบเบฑเบ‡โ€‹เป„เบ”เป‰โ€‹เบžเบปเบš (-h) เปเบฅเบฐโ€‹เบชเบฐโ€‹เบซเบผเบธเบšโ€‹เบœเบปเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹.

# ะฒั‹ะฒะตะดะตะผ ะฝะฐ ัะบั€ะฐะฝ ะฒัะต ะฒั…ะพะถะดะตะฝะธั
ack --js -w mysql
# ัั‡ะธั‚ะฐะตะผ ะพะฑั‰ัƒัŽ ััƒะผะผัƒ ะฒั…ะพะถะดะตะฝะธะน
ack --js -wch mysql

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบเปˆเบฝเบงเบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเปƒเบ™เปเบ•เปˆเบฅเบฐเป„เบŸเบฅเปŒเป‚เบ”เบเปƒเบŠเป‰ (-l)

ack --js -w -cl mysql

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ–เบฒเบก ack
เบชเบฐเปเบ”เบ‡เปเบ–เบงเป€เบ–เบดเบ‡ (-B) เปเบฅเบฐโ€‹เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบ (-A) เบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ—เบตเปˆเบžเบปเบšเป€เบซเบฑเบ™. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ‚เบญเบ‡เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™.

# 2 ัั‚ั€ะพะบะธ ะดะพ 
ack --js --column -B 2 "query.once('" ./lib/

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

# 2 ัั‚ั€ะพะบะธ ะฟะพัะปะต 
ack --js --column -A 2 "query.once('" . /lib/

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

เปเบฅเบฐเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบฑเบ‡เบชเบญเบ‡, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบซเป‰เปƒเบŠเป‰ (-ะก)

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

เบเบฑเบ‡เบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบ (-v) เป€เบžเบทเปˆเบญเบ›เบตเป‰เบ™เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒ, i.e. เบชเบฐเปเบ”เบ‡เป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบฎเบนเบšเปเบšเบšเบ—เบตเปˆเปƒเบซเป‰เป„เบงเป‰.

เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเป€เบ›เบฑเบ™เบ›เบปเบเบเบฐเบ•เบด

Ack, เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบš grep, เปƒเบŠเป‰เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰ Perl.
เบชเปเบฒเบฅเบฑเบšเบ‚เป‰เบญเบเบ™เบตเป‰เปเบกเปˆเบ™เบšเบงเบเปƒเบซเบเปˆ; เบ‚เป‰เบญเบเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบˆเบทเปˆ syntax เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ›เบปเบเบเบฐเบ•เบด.

ack 'vars+adds+'

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบ

ack '*s+[vd+.d+.d+]'

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

เป€เบฅเบทเป‰เบญเบเป†เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบญเบญเบเบˆเบฒเบเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบžเบฝเบ‡เปเบ•เปˆเบชเบดเปˆเบ‡เบ—เบตเปˆเบเบปเบ‡เบเบฑเบšเปเบกเปˆเปเบšเบš. เบ—เบฒเบ‡เป€เบฅเบทเบญเบ --output เบˆเบฐเบŠเปˆเบงเบเป„เบ”เป‰เบ—เบตเปˆเบ™เบตเป‰ (-o)

ack -o '*s+[vd+.d+.d+]'

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบงเบปเบ‡เป€เบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบเบชเปˆเบงเบ™เบ—เบตเปˆเบžเบปเบšเป€เบซเบฑเบ™เปเบฅเบฐเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบกเบฑเบ™เปƒเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเป‚เบ”เบเบœเปˆเบฒเบ™เบ•เบปเบงเปเบ› $[group number]. เบเบปเบโ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡,

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

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

Ack เบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ” --range-start ะธ --range-end. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบŠเปˆเบงเบเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ
เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เป€เบเบฑเบšโ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹เป„เบงเป‰โ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบขเบนเปˆโ€‹เปƒเบ™โ€‹เปเบ–เบงโ€‹เบ”เบฝเบงโ€‹, เปเบ•เปˆโ€‹เบงเปˆเบฒโ€‹เปƒเบ™โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบซเบผเบฒเบโ€‹เปเบ–เบงโ€‹.

เบ•เบปเบงเบขเปˆเบฒเบ‡, เบกเบตเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ” sql

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

เปƒเบซเป‰เบชเบฐเบเบฑเบ”เบŠเบทเปˆเบ–เบฑเบ™. เบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบšเบฅเบฑเบญเบเบˆเบฐเป€เบ›เบฑเบ™เป€เบชเบฑเป‰เบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ SELECT, เปเบฅเบฐเบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”เบˆเบฐเป€เบ›เบฑเบ™เป€เบชเบฑเป‰เบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ FROM.

ack --range-start ^SELECT --range-end ^FROM 'td+.' ./test.sql

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

เบ–เป‰เบฒเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ‚เบญเบ‡เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบกเบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบžเบดเป€เบชเบ”เป€เบŠเบฑเปˆเบ™: เป„เบฅเบเบฐเป€เบงเบฅเบฒ, เบงเบปเบ‡เป€เบฅเบฑเบš, เปเบฅเบฐเบญเบทเปˆเบ™เป†, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เป€เบžเบทเปˆเบญเบšเปเปˆเปƒเบซเป‰เบžเบงเบเบกเบฑเบ™เบซเบ™เบตเป„เบ›, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. -Q.

# ะŸะพะธัะบ ั ัะบั€ะฐะฝะธั€ะพะฒะฐะฝะธะตะผ 
ack --json 'mysql.'    
# ะŸะพะธัะบ ะฑะตะท ัะบั€ะฐะฝะธั€ะพะฒะฐะฝะธั
ack --json -Q mysql.

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป„เบŸเบฅเปŒ

เป€เบญเบปเบฒเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบ™เบฒเบกเบชเบฐเบเบธเบ™เบชเบฐเป€เบžเบฒเบฐ

ack -f --js

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

เบŠเบญเบเบซเบฒเป„เบŸเบฅเปŒ js เบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบกเบตเบŠเบทเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ P* เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบ (-g).

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

Ack เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒ grep

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ

เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบกเบตเป„เบŸเบฅเปŒ 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

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™