He pai ake a Ack i te grep

Kei te hiahia ahau ki te korero ki a koe mo tetahi taputapu rapu e tino ngawari ana te ora. Ka tae ahau ki te tūmau ka hiahia ahau ki te rapu i tetahi mea, ko te mea tuatahi ka mahia e au ko te tirotiro mena kua whakauruhia te ack. Ko tenei taputapu he whakakapinga pai mo te grep, me te rapu me te wc ki etahi waahanga. He aha te kore grep? He pai ake nga tautuhinga a Ack i waho o te pouaka, he maha atu nga whiringa ka taea e te tangata te panui, perl regex me te punaha whirihora. Ki te pai koe (me) rapu i roto i te tauranga, me tino whakamatau koe.

Nga waahanga taketake

Ko te Ack he recursive ma te taunoa, me te tuhi i nga whiringa iti he mea pai tonu.

Ka taea e tatou te whakamahi i te haki -wki te korero ki te whaipainga ki te rapu i tetahi tauira o to maatau tauira e karapotia ana e nga rohe kupu (mokowāma, rītaha, aha atu).

ack -w mysql

He pai ake a Ack i te grep

Ka tautoko a Ack i te rapu ma te momo konae. Hei tauira, me kimi te putanga kōwae i roto i nga konae json.

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

He pai ake a Ack i te grep

He rarangi katoa o nga momo konae tautoko ka taea te tiro ma te whakamahi:

ack --help-types

I te nuinga o nga wa me tatau koe e hia nga wa ka puta mai tetahi kianga i roto i te konae rangitaki, hei tauira, kia mohio ai koe ki te nui o nga raraunga i mahia e te tuhinga.

He pai ake a Ack i te grep
Ka tatauhia e hia nga wa ka puta te tukanga i roto i te konae test.log, kaua e whakaaro ki te keehi (-i).

Ka taea e tatou te tatau i nga takanga ehara i te mea i roto i te konae motuhake, engari i roto i te roopu. Me whakaoti te rapunga o mua mo te kupu mysql: tatauhia te maha o nga kupu kua puta (-mai) kei roto *.js kōnae(--js), haunga nga konae kaore he mea i kitea (-h) me te whakarāpopoto i te hua.

# выведем на экран все вхождения
ack --js -w mysql
# считаем общую сумму вхождений
ack --js -wch mysql

He pai ake a Ack i te grep

I tua atu, ka taea e taatau te tiki korero mo te maha o nga huihuinga i ia konae ma te whakamahi (-l)

ack --js -w -cl mysql

He pai ake a Ack i te grep

Mena ka hiahia koe ki etahi atu horopaki mo to rapunga, ka taea e koe te patai ack
whakaatu rārangi ki runga ki (-B) a muri (-A) o te korero kua kitea. Ki te mahi i tenei, me tohu koe i muri i te whiringa te maha o nga raina e tika ana kia whakaatuhia.

# 2 строки до 
ack --js --column -B 2 "query.once('" ./lib/

He pai ake a Ack i te grep

# 2 строки после 
ack --js --column -A 2 "query.once('" . /lib/

He pai ake a Ack i te grep

A, ki te hiahia koe kia rua, whakamahia (-ME)

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

He whiringa ano (-v) hei huri i te rapunga, ara he whakaatu i nga rarangi kaore he tauira i roto.

Te whakapuaki i nga wa katoa

Ack, kaore i rite ki te grep, ka whakamahi i nga korero hototahi a Perl.
Ki ahau he taapiri nui tenei; Kaore au e mahara ki tetahi wetereo motuhake mo nga korero auau.

ack 'vars+adds+'

He pai ake a Ack i te grep

He tauira uaua ake

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

He pai ake a Ack i te grep

I te nuinga o nga wa ka hiahia koe ki te waiho i roto i nga hua ko nga mea e rite ana ki te tauira. Ko te kōwhiringa --output ka awhina i konei (-o)

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

He pai ake a Ack i te grep

I tua atu, ma te whakamahi i nga reu ka taea e tatou te kowhiri i te waahanga kua kitea ka uru ki roto i te putanga ma te taurangi $[tau roopu]. Hei tauira,

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

He pai ake a Ack i te grep

He pai nga whiringa a Ack --awhe-timata и --mutunga-awhe. Ka awhina ratou i te wa
Ko nga raraunga kaore i roto i te raina kotahi, engari i roto i te ahua maha-raina.

Hei tauira, he konae kei te waehere sql

He pai ake a Ack i te grep

Me tango nga ingoa o nga pou. Ko te timatanga o te poraka he rarangi timata ki te SELECT, a ko te mutunga he rarangi timata mai i te FROM.

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

He pai ake a Ack i te grep

Mēnā he pūāhua motuhake kei roto i te kīanga rapu pēnei i te wā, te reu, me etahi atu, kia kore ai e mawhiti ma te whakamahi , ka taea e koe te whakamahi i te whiringa -Q.

# Поиск с экранированием 
ack --json 'mysql.'    
# Поиск без экранирования
ack --json -Q mysql.

He pai ake a Ack i te grep

Te mahi me nga konae

Tikina he rarangi o nga konae whai toronga motuhake

ack -f --js

He pai ake a Ack i te grep

Kimihia nga konae js katoa ka tiimata tona ingoa ki te P* ma te whakamahi i te whiringa (-g).

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

He pai ake a Ack i te grep

Hōutuutu

Kei te whaipainga tana ake konae whirihora. Ka taea e koe te whirihora i te ao mo te kaiwhakamahi (~/.ackrc) me te rohe mo tetahi kōpaki motuhake (me hanga he konae .ackrc ki te kōpaki).

Ko te nuinga o nga whiringa ka tuhia ki roto i nga whirihora ka taea te tohu-a-ringa ina karangahia. E hi‘o tatou i te tahi o ratou.

Waiho te kōpaki ina rapu

--ignore-dir=dist

Me taapiri he momo konae ritenga -vue.

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

Inaianei ka taea e koe te whakamahi i te whiringa --vue ki te rapu i nga konae .vue. Hei tauira: ack --vue App.
Ka taea e koe te tautuhi i te rarangi o nga taapiri mo tenei whiringa. Hei tauira, i konei, ina whakamahi -vue, ka mahia nga mea e whai ake nei:
.js kōnae.

Kaua e aro ki nga konae, hei tauira kua whakaitihia *.min.js

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

tāutanga

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

Te whakaurunga mai i te pae

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

Monomai mo nga kaiwhakatika:

mutunga

Ehara enei i nga mea ka taea. Ko te rarangi katoa o nga mahi ka taea te tiro ma te whakahaere:

ack –-help
# или
ack --man

Ko te whaipainga ack ka taea e koe te rapu i roto i te tauranga kia watea me te ngawari. Me te whakamahi paipa (ack -C 10 kia ora | ao ack) ka taea e koe te hanga i tetahi huinga kaha mo te rapu me te tātari raraunga i roto i te punaha konae me nga konae ake.

Source: will.com

Tāpiri i te kōrero