Ba mhaith liom a insint duit faoi fhóntas cuardaigh amháin a shimplíonn an saol go mór. Nuair a shroichim an freastalaí agus go gcaithfidh mé rud éigin a chuardach, is é an chéad rud a dhéanfaidh mé ná seiceáil an bhfuil ack suiteáilte. Is athsholáthair iontach é an fóntais seo do grep, chomh maith le aimsiú agus wc go pointe áirithe. Cén fáth nach grep? Tá socruithe níos deise ag Ack as an mbosca, roghanna níos inléite ag daoine, perl regex agus córas cumraíochta. Más mian leat (caithfidh tú) cuardach a dhéanamh tríd an teirminéal, ba chóir duit triail a bhaint as cinnte.
Bunghnéithe
Tá Ack athchúrsach de réir réamhshocraithe, agus is smaoineamh maith i gcónaí é níos lú roghanna a scríobh.
Is féidir linn bratach a úsáid -wa rá leis an bhfóntas sampla dár bpatrún a chuardach agus teorainneacha focal timpeall air (spás bán, slais, etc.).
ack -w mysql
Tacaíonn Ack le cuardach de réir cineáil comhaid. Mar shampla, faighimis leagan an mhodúil i gcomhaid json.
ack --json '"version":s+"d+.d+.d+"'
Is féidir liosta iomlán de na cineálacha comhaid a dtacaítear leo a fheiceáil trí úsáid a bhaint as:
ack --help-types
Go minic ní mór duit a chomhaireamh cé mhéad uair is cosúil frása i gcomhad log, mar shampla, a thuiscint cé mhéad sonraí a phróiseáil an script.
Déanaimid comhaireamh cé mhéad uair a tharlaíonn próiseas sa chomhad test.log, gan cás a chur san áireamh (-i).
Is féidir linn tarluithe a chomhaireamh ní hamháin i gcomhad sonrach amháin, ach i ngrúpa. Déanaimis an cuardach roimhe seo don fhocal mysql a thabhairt chun críche: comhaireamh líon tarluithe na bhfocal (-с) i gcomhaid *.js(--js), gan comhaid nár aimsíodh aon rud iontu a áireamh (-h) agus achoimre ar an toradh.
# выведем на экран все вхождения
ack --js -w mysql
# считаем общую сумму вхождений
ack --js -wch mysql
Ina theannta sin, is féidir linn tuairisc mhionsonraithe a fháil ar líon na dteagmhas i ngach comhad ag baint úsáide as (-l)
ack --js -w -cl mysql
Má theastaíonn comhthéacs breise uait le haghaidh do chuardach, is féidir leat a iarraidh ar ack
taispeáin línte suas go (-B) agus tar éis (-A) den abairt aimsithe. Chun seo a dhéanamh, ní mór duit a shonrú tar éis an rogha líon na línte is gá a thaispeáint.
# 2 строки до
ack --js --column -B 2 "query.once('" ./lib/
# 2 строки после
ack --js --column -A 2 "query.once('" . /lib/
Agus más gá duit an dá, bain úsáid as (-LE)
ack --js --column -C 2 "query.once('" ./lib/
Tá rogha ann freisin(-v) chun an cuardach a inbhéartú, i.e. línte a thaispeáint nach bhfuil patrún tugtha iontu.
Léiriú rialta
Murab ionann agus grep, úsáideann Ack nathanna atá comhoiriúnach le Perl.
Maidir liom féin is buntáiste mór é seo; ní gá dom cuimhneamh ar chomhréir ar leith le haghaidh nathanna rialta.
ack 'vars+adds+'
Sampla níos casta
ack '*s+[vd+.d+.d+]'
Go minic is mian leat a fhágáil sna torthaí ach amháin cad a oireann an teimpléad. Cabhróidh an rogha --aschuir anseo (-o)
ack -o '*s+[vd+.d+.d+]'
Ina theannta sin, ag baint úsáide as lúibíní is féidir linn an chuid aimsithe a roghnú agus é a rochtain san aschur tríd an athróg $[grúpa uimhir]. Mar shampla,
ack --output='version is $1' '*s+[v(d+.d+.d+)]'
Tá roghanna úsáideacha ag Ack --raon-tús и --raon-deireadh. Cabhraíonn siad nuair a
Ní stóráiltear na sonraí i líne amháin, ach i bhfoirm illíne.
Mar shampla, tá comhad le cód sql
A ligean ar sliocht na hainmneacha colún. Beidh tús an bhloic ina líne ag tosú le SELECT, agus beidh an deireadh ina líne ag tosú le FROM.
ack --range-start ^SELECT --range-end ^FROM 'td+.' ./test.sql
Má tá carachtair speisialta ar nós peiriad, lúibíní agus eile sa slonn cuardaigh, is féidir leat an rogha a úsáid ionas nach éalóidh tú iad. -Q.
# Поиск с экранированием
ack --json 'mysql.'
# Поиск без экранирования
ack --json -Q mysql.
Ag obair le comhaid
Faigh liosta comhad le síneadh ar leith
ack -f --js
Faigh gach comhad js a dtosaíonn a n-ainm le P* ag baint úsáide as an rogha (-g).
ack -g --js '/Pa.+.js$'
Cumraíocht
Tá a chomhad cumraíochta féin ag an bhfóntas. Is féidir leat cumraíocht dhomhanda a bheith agat don úsáideoir (~/.ackrc) agus ceann áitiúil le haghaidh fillteán ar leith (ní mór duit comhad .ackrc a chruthú san fhillteán).
Is féidir an chuid is mó de na roghanna atá scríofa sna cumraíochtaí a shonrú de láimh nuair a ghlaoitear orthu. Breathnaímid ar roinnt acu.
Déan neamhaird de fhillteán agus tú ag cuardach
--ignore-dir=dist
Cuirimis cineál comhaid saincheaptha -vue leis.
--type-add=vue:ext:js,vue
Anois is féidir leat an rogha --vue a úsáid chun comhaid a chuardach .vue. Mar shampla: ack --vue App.
Is féidir leat liosta síntí a shonrú don rogha seo. Mar shampla, anseo, agus -vue á úsáid, próiseálfar an méid seo a leanas: .js comhaid.
Déan neamhaird de chomhaid, mar shampla *.min.js mionghearrtha
--ignore-file=match:/.min.js$/
Suiteáil
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
Suiteáil ón suíomh
curl https://beyondgrep.com/ack-v3.3.1 > ~/bin/ack && chmod 0755 ~/bin/ack
Breiseáin le haghaidh eagarthóirí:
Conclúid
Ní féidearthachtaí iad seo go léir. Is féidir liosta iomlán na bhfeidhmeanna a fheiceáil ach é a rith:
ack –-help
# или
ack --man
Ceadaíonn an áirgiúlacht ack duit cuardach a dhéanamh sa chríochfort níos áisiúla agus níos solúbtha. Agus píblíne á úsáid (aic -C 10 dia duit | ack domhan) is féidir leat comhcheangal cumhachtach a chruthú chun sonraí a chuardach agus a scagadh sa chóras comhad agus sna comhaid féin.
Foinse: will.com