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
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 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.
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
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
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/
# 2 строки после
ack --js --column -A 2 "query.once('" . /lib/
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 tauira uaua ake
ack '*s+[vd+.d+.d+]'
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+]'
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 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
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
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.
Te mahi me nga konae
Tikina he rarangi o nga konae whai toronga motuhake
ack -f --js
Kimihia nga konae js katoa ka tiimata tona ingoa ki te P* ma te whakamahi i te whiringa (-g).
ack -g --js '/Pa.+.js$'
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