Waxaan rabaa inaan kuu sheego wax ku saabsan utility raadinta oo noloshayda ka dhigaya mid aad u fudud. Marka aan galo server-ka oo aan u baahdo inaan wax raadiyo, waxa ugu horreeya ee aan sameeyo waa hubin haddii ack la rakibay. Utility Tani waa bedelka ugu wanaagsan ee grep, iyo ilaa xad, hel iyo wc. Waa maxay sababta grep? Ack waxa uu leeyahay habayn ka baxsan sanduuqa, doorashooyin badan oo bini'aadmigu akhriyi karo, tibaaxaha caadiga ah ee Perl, iyo nidaamka qaabaynta. Haddii aad jeceshahay (ama ay tahay inaad) ka dhex raadiso terminalka, waa inaad hubaal isku daydaa.
Tilmaamaha aasaasiga ah
Ack waa soo noqnoqonaya si caadi ah, iyo qorista doorashooyin yar had iyo jeer waa shay wanaagsan.
Waxaan isticmaali karnaa calanka -win loo sheego utility in ay raadiyaan tusaale ka mid ah qaabkayaga oo ay ku hareeraysan yihiin xuduudo kelmado (meel bannaan, goyn, iwm.).
ack -w mysql
Ack wuxuu taageeraa raadinta nooca faylka Tusaale ahaan, aan ka helno nooca moduleka faylasha JSON.
ack --json '"version":s+"d+.d+.d+"'
Liis buuxa oo ah noocyada faylalka la taageeray waxaa laga heli karaa:
ack --help-typesInta badan waa lagama maarmaan in la tiriyo inta jeer ee weedh ka soo baxdo faylka log, tusaale ahaan, si loo fahmo inta xog ee qoraalku farsameeyay.
![]()
Waxaan xisaabineynaa inta jeer ee habka uu ka soo muuqdo faylka test.log, anagoo iska indha tirayna kiiska (-i).
Waxaan tirin karnaa dhacdooyinka maahan kaliya hal fayl gaar ah, laakiin koox ahaan. Aan turxaan bixino raadintii hore ee erayga mysql: aan tirino inta jeer ee ay erayadaas dhacaan.-ka yimid) in *.js files(-js), marka laga reebo faylasha aan waxba laga helin (-h) iyo soo koobidda natiijada.
# выведем на экран все вхождения
ack --js -w mysql
# считаем общую сумму вхождений
ack --js -wch mysql
Intaa waxaa dheer, waxaan ka heli karnaa warbixin faahfaahsan oo ku saabsan tirada dhacdooyinka fayl kasta iyadoo la isticmaalayo (-l)
ack --js -w -cl mysql
Haddii aad u baahan tahay macnaha guud ee raadintaada, waxaad codsan kartaa ack
tusi khadadka ka hor (-B) iyo ka dib (-A) ee muujinta la helay. Si tan loo sameeyo, sheeg tirada safafka si aad u muujiso ikhtiyaarka ka dib.
# 2 строки до
ack --js --column -B 2 "query.once('" ./lib/
# 2 строки после
ack --js --column -A 2 "query.once('" . /lib/
Oo haddii aad u baahan tahay labadaba, ka dibna isticmaal (-KA)
ack --js --column -C 2 "query.once('" ./lib/Waxa kale oo jira ikhtiyaar (-v) in la rogo raadinta, taas oo ah, muujinta khadadka aan ku jirin qaab la bixiyay.
Odhaah joogto ah
Ack, oo ka duwan grep, wuxuu adeegsadaa tibaaxaha ku habboon Perl.
Aniga ahaan, tani waa dheeri weyn; Uma baahnid in aan xasuusto eray-bixin gaar ah oo ku saabsan tibaaxaha caadiga ah.
ack 'vars+adds+'
Tusaale ka sii adag
ack '*s+[vd+.d+.d+]'
Badana waxaad rabtaa inaad ku hayso kaliya waxa u dhigma qaabka natiijooyinka. Xulashada --output (-o)
ack -o '*s+[vd+.d+.d+]'
Intaa waxaa dheer, annagoo adeegsanayna qawl-qodobyo waxaan dooran karnaa qaybta la helay oo aan ka geli karnaa wax-soo-saarka anagoo adeegsanayna doorsoomaha $[group number]. Tusaale ahaan,
ack --output='version is $1' '*s+[v(d+.d+.d+)]'
Ack wuxuu leeyahay doorashooyin faa'iido leh - bilowga-bilow и -dhamaadka-dhamaadkaWaxay caawiyaan marka
Xogta laguma kaydiyo hal xariiq, balse waxa lagu kaydiyaa qaab dhawr xariiq ah.
Tusaale ahaan, waxaa jira fayl leh koodka SQL

Aynu soo saarno magacyada tiirarka. Balooggu wuxuu ka bilaabmi doonaa xariiqda ka bilaabma SELECT, wuxuuna ku dhamaan doonaa xariiqda ka bilaabmaya FROM.
ack --range-start ^SELECT --range-end ^FROM 'td+.' ./test.sql
Haddii tibaaxaha raadinta ay ku jiraan xarfo gaar ah sida caadada, qawlka, iyo kuwa kale, ka dib si aad uga fogaato in iyaga lagu baxsado, waxaad isticmaali kartaa ikhtiyaarka -Q.
# Поиск с экранированием
ack --json 'mysql.'
# Поиск без экранирования
ack --json -Q mysql.
Ku shaqaynta faylasha
Hel liiska faylasha leh kordhin gaar ah
ack -f --js
Soo hel dhammaan faylasha js oo magacoodu ka bilaabmo P* adoo isticmaalaya ikhtiyaarka (-g).
ack -g --js '/Pa.+.js$'
Qaabeynta
Utility wuxuu leeyahay faylka qaabeynta u gaar ah. Waxaad yeelan kartaa faylka qaabeynta caalamiga ah ee isticmaalaha (~/.ackrc) ama faylka qaabeynta deegaanka ee gal gaar ah (waa inaad ku dhex abuurtaa faylka .ackrc galka).
Inta badan xulashooyinka lagu cayimay faylalka habaynta waxa gacanta lagu dejin karaa wakhtiga runtime. Bal aan eegno dhowr ka mid ah.
Iska daa galka marka aad raadinayso
--ignore-dir=distAynu ku darno nooca faylka gaarka ah —vue.
--type-add=vue:ext:js,vueWaxaad hadda isticmaali kartaa ikhtiyaarka --vue si aad u baadho faylasha. .vue. Tusaale ahaan: ack — vue App.
Waxa kale oo aad u cayimi kartaa liiska kordhinta doorashadan. Tusaale ahaan, isticmaalka --vue ayaa sidoo kale socodsiin doona .js faylasha.
Iska daa faylalka sida la yareeyay *.min.js
--ignore-file=match:/.min.js$/Ku rakibida
CentOS
yum update -y && yum install ack -yUbuntu
apt-get update -y && apt-get install ack-grep -yMac OS
brew update && brew install ackKu rakibida shabakada
curl https://beyondgrep.com/ack-v3.3.1 > ~/bin/ack && chmod 0755 ~/bin/ackPlugins ee tafatirayaasha:
gunaanad
Kuwani waa dhawr ka mid ah sifooyinka. Liis buuxa oo ah hawlaha waxa laga heli karaa orod:
ack –-help
# или
ack --manUtility ack wuxuu ka dhigayaa raadinta terminaalka mid ku habboon oo dabacsan. Iyo iyadoo la kaashanayo dhuumaha (ack -C 10 hello | ack aduun) waxaad abuuri kartaa isku-dar xoog leh oo raadinta iyo shaandhaynta xogta nidaamka faylka iyo faylalka laftooda.
Source: www.habr.com
