Is fearr ack ná grep

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

Is fearr ack ná grep

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 fearr ack ná grep

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.

Is fearr ack ná grep
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

Is fearr ack ná grep

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

Is fearr ack ná grep

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/

Is fearr ack ná grep

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

Is fearr ack ná grep

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+'

Is fearr ack ná grep

Sampla níos casta

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

Is fearr ack ná grep

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+]'

Is fearr ack ná grep

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+)]'

Is fearr ack ná grep

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

Is fearr ack ná grep

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

Is fearr ack ná grep

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.

Is fearr ack ná grep

Ag obair le comhaid

Faigh liosta comhad le síneadh ar leith

ack -f --js

Is fearr ack ná grep

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$'

Is fearr ack ná grep

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

Add a comment