Ou te fia taʻu atu ia te oe se tasi suʻesuʻega aoga e matua faafaigofie ai le olaga. A ou oʻo i le 'auʻaunaga ma e manaʻomia ona ou suʻeina se mea, o le mea muamua ou te faia o le siaki pe faʻapipiʻi le ack. O lenei aoga o se sui sili ona lelei mo le grep, faʻapea foʻi ma le mauaina ma le wc i nisi itu. Aisea e le grep? Ack e sili atu ona lelei tulaga mai le pusa, sili atu tagata-faitau filifiliga, perl regex ma se config system. Afai e te manaʻo (e tatau) suʻesuʻe i totonu o le laina, ona tatau lea ona e faʻataʻitaʻia.
Vaega Autu
Ack e toe fa'afo'i ona o le faaletonu, ma o le tusiaina o ni nai filifiliga o se manatu lelei lava.
E mafai ona tatou faʻaaogaina se fuʻa -we taʻu atu ai le aoga e suʻe ai se faʻataʻitaʻiga o la tatou mamanu o loʻo siosiomia e tuaoi o upu (whitespace, slashes, etc.).
ack -w mysql
E lagolagoina e le Ack su'esu'ega ile ituaiga faila. Mo se faʻataʻitaʻiga, seʻi o tatou suʻeina le module version i faila json.
ack --json '"version":s+"d+.d+.d+"'
O se lisi atoa o ituaiga faila e lagolagoina e mafai ona vaʻaia e faʻaaoga ai:
ack --help-types
E masani ona e manaʻomia le faitauina pe faafia ona aliali mai se fuaitau i se faila ogalaau, mo se faʻataʻitaʻiga, e malamalama ai i le tele o faʻamaumauga o loʻo faʻaogaina.
Matou te faitauina le tele o taimi e tupu ai le faagasologa i le faila test.log, ae le o le amanaia o le mataupu (-i).
E mafai ona tatou faitauina mea tutupu e le gata i se faila patino, ae i totonu o se vaega. Sei o tatou fa'amae'aina le su'esu'ega muamua mo le upu mysql: faitau le aofa'i o fa'atupuina o upu (-mai) i *.js faila(--js), e le aofia ai faila e leai se mea na maua (-h) ma le aotelega o le taunuuga.
# выведем на экран все вхождения
ack --js -w mysql
# считаем общую сумму вхождений
ack --js -wch mysql
E le gata i lea, e mafai ona matou maua se lipoti auiliili i le numera o mea e tutupu i faila taʻitasi e faʻaaoga ai (-l)
ack --js -w -cl mysql
Afai e te mana'omia fa'amatalaga faaopoopo mo lau su'esu'ega, e mafai ona e fesili i ai
fa'aali laina e o'o i (-B) ma mulimuli ane (-A) o le faaupuga maua. Ina ia faia lenei mea, e tatau ona e faʻamaonia pe a maeʻa le filifiliga le numera o laina e manaʻomia ona faʻaalia.
# 2 строки до
ack --js --column -B 2 "query.once('" ./lib/
# 2 строки после
ack --js --column -A 2 "query.once('" . /lib/
Ma afai e te manaʻomia uma e lua, ona faʻaaoga lea (-FAI)
ack --js --column -C 2 "query.once('" ./lib/
E iai foʻi se avanoa (-v) e fesuia'i le su'esu'ega, o lona uiga fa'aali laina e le o iai se fa'ata'ita'iga.
Fa'aaliga masani
Ack, e le pei o le grep, faʻaoga Perl faʻamatalaga fetaui.
Mo aʻu o se faʻaopoopoga tele lea; Ou te le tau manatuaina se faʻasologa ese mo faʻamatalaga masani.
ack 'vars+adds+'
Fa'ata'ita'iga sili atu ona lavelave
ack '*s+[vd+.d+.d+]'
E tele taimi e te mana'o e tu'u ai i'uga na'o mea e fetaui ma le mamanu. O le filifiliga --output o le a fesoasoani iinei (-o)
ack -o '*s+[vd+.d+.d+]'
E le gata i lea, o le faʻaaogaina o puipui e mafai ona tatou filifilia le vaega maua ma maua i totonu o galuega faatino e ala i le $[numera kulupu] fesuiaiga. Faataitaiga,
ack --output='version is $1' '*s+[v(d+.d+.d+)]'
Ack ei ai filifiliga aoga --va'aiga-amata и --ava-i'uga. Latou te fesoasoani pe a
O faʻamaumauga e le teuina i se laina e tasi, ae i le tele-laina fomu.
Mo se faʻataʻitaʻiga, o loʻo i ai se faila ma le sql code
Se'i o'o mai igoa o koluma. Ole amataga ole poloka ole laina e amata ile SELECT, ma le faaiuga ole laina amata ile FROM.
ack --range-start ^SELECT --range-end ^FROM 'td+.' ./test.sql
Afai o le faʻamatalaga suʻesuʻe o loʻo i ai faʻamatalaga faʻapitoa e pei o se vaitaimi, puipui, ma isi, ina ia aua neʻi sola ese mai i latou i le faʻaaogaina, e mafai ona e faʻaogaina le filifiliga. -Q.
# Поиск с экранированием
ack --json 'mysql.'
# Поиск без экранирования
ack --json -Q mysql.
Galulue ma faila
Maua se lisi o faila ma se faʻaopoopoga faʻapitoa
ack -f --js
Su'e uma faila js o lona igoa e amata ile P* fa'aaoga le filifiliga (-g).
ack -g --js '/Pa.+.js$'
Fetuunaiga
O le aoga e iai lana lava faila faila. E mafai ona e maua uma se faʻasalalauga faʻavaomalo mo le tagata faʻaoga (~ / .ackrc) ma se faʻapitonuʻu mo se faila faʻapitoa (e tatau ona e fatuina se faila .ackrc i totonu o le faila).
Ole tele ole filifiliga o lo'o tusia ile configs e mafai ona fa'amaoti lima ile vala'au. Seʻi o tatou vaavaai i nisi o na mea.
Le amana'ia le faila pe a su'e
--ignore-dir=dist
Se'i o tatou fa'aopoopoina se ituaiga faila fa'apitoa -vue.
--type-add=vue:ext:js,vue
O lea e mafai ona e faʻaogaina le filifiliga --vue e suʻe faila .vue. Faataitaiga: ack --vue App.
E mafai ona e faʻamaonia se lisi o faʻaopoopoga mo lenei filifiliga. Mo se faʻataʻitaʻiga, iinei, pe a faʻaaogaina -vue, o mea nei o le a faʻatautaia: .js faila.
Le amanaʻia faila, mo se faʻataʻitaʻiga faʻaititia *.min.js
--ignore-file=match:/.min.js$/
faatulagaga
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
Fa'apipi'i mai le saite
curl https://beyondgrep.com/ack-v3.3.1 > ~/bin/ack && chmod 0755 ~/bin/ack
Plugins mo faatonu:
iʻuga
E le o avanoa uma ia. O le lisi atoa o galuega e mafai ona vaʻaia e ala i le taʻavale:
ack –-help
# или
ack --man
O le ack utility e mafai ai e oe ona fa'afaigofie ma fetu'una'i le su'esu'eina i totonu o le fa'ailoga. Ma faʻaaogaina paipa (ack -C 10 talofa | ack lalolagi) e mafai ona e fatuina se tuʻufaʻatasiga malosi mo le suʻeina ma le faʻamamaina o faʻamaumauga i le faila faila ma faila lava ia.
puna: www.habr.com