EnglezăFrancezăSpaniolă

Favicon OnWorks

ack-grepp - Online în cloud

Rulați ack-grepp în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda ack-grepp care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


ack - găsitor de text asemănător grep

REZUMAT


confirmați [opțiuni] PATTERN [FIȘIER...]
ack -f [opțiuni] [DIRECTOR...]

DESCRIERE


Ack este conceput ca o alternativă la grep pentru programatori.

Ack caută fișierele de intrare denumite (sau intrarea standard dacă nu sunt denumite fișiere, sau fișierul
nume - este dat) pentru liniile care conțin o potrivire cu MODELUL dat. Implicit, ack
imprimă liniile potrivite.

PATTERN este o expresie regulată Perl. Expresiile regulate Perl se găsesc frecvent în
alte limbaje de programare, dar pentru detaliile comportamentului lor, vă rugăm să consultați
<http://perldoc.perl.org/perlreref.html|perlreref>. Dacă nu știi cum să folosești obișnuit
exprimare, dar sunteți interesat să învățați, vă puteți consulta
<http://perldoc.perl.org/perlretut.html|perlretut>. Dacă nu aveți nevoie sau doriți să utilizați ack
expresii regulate, consultați opțiunea „-Q”/“--literal”.

Ack poate lista și fișierele care ar fi căutate, fără a le căuta efectiv, pentru a le lăsa
profitați de capacitățile de filtrare a tipului de fișiere ale ack.

FILE SELECȚIE


Dacă fișierele nu sunt specificate pentru căutare, fie pe linia de comandă, fie introduse cu ajutorul
opțiunea „-x”, ACK explorează subdirectoarele selectând fișiere pentru căutare.

ACK este inteligent cu privire la fișierele pe care le caută. Știe despre anumite tipuri de fișiere, pe baza
atât pe extensia de pe fișier, cât și, în unele cazuri, pe conținutul fișierului. Aceste
selecțiile pot fi făcute cu --tip opțiune.

Fără selecție de fișiere, ACK caută prin fișiere obișnuite care nu sunt în mod explicit
exclus de --ignore-dir si --ignore-file opțiuni, fie prezente în ackrc fișiere sau pe
linia de comandă.

Opțiunile implicite pentru ACK ignora anumite fișiere și directoare. Acestea includ:

· Fișiere de rezervă: fișiere care se potrivesc #*# sau se termină cu ~.

· Coredumps: Se potrivesc fișiere miez.\d+

· Directoare de control al versiunilor, cum ar fi .svn si .git.

Alerga ACK cu opțiunea „--dump” pentru a vedea ce setări sunt setate.

"Dar daca ACK caută întotdeauna fișierele date pe linia de comandă, indiferent de tip. Dacă
spune tu ACK pentru a căuta într-un coredump, va căuta într-un coredump.

CATALOG SELECȚIE


ACK coboară prin arborele de directoare al directoarelor de pornire specificate. Daca nu
sunt specificate directoare, este utilizat directorul de lucru curent. Cu toate acestea, va ignora
directoarele umbră utilizate de multe sisteme de control al versiunilor și directoarele de compilare
utilizat de sistemul Perl MakeMaker. Puteți adăuga sau elimina un director din această listă cu
il --[nu]ignore-dir opțiune. Opțiunea poate fi repetată pentru a adăuga/elimina mai multe directoare
din lista ignorate.

Pentru o listă completă a directoarelor care nu sunt căutate, rulați „ack --dump”.

CÂND LA UTILIZAȚI PRINDERE


ACK atuurilor grep ca instrument de zi cu zi 99% din timp, dar nu aruncați grep departe, pentru că
sunt momente în care încă vei avea nevoie.

De exemplu, căutarea prin fișiere uriașe căutând regexe cu care se poate exprima grep
sintaxa ar trebui să fie mai rapidă cu grep.

Dacă scriptul sau programul părinte utilizează grep „--silent” sau „--silent” sau necesită ieșirea 2 pe IO
eroare, folosire grep.

OPŢIUNI


--ackrc
Specifică un fișier ackrc de încărcat după toate celelalte; vezi „SEMANTICA LOCATIEI ACKRC”.

-A NUM, --după-context=NUM
NUM linii de context final după linii de potrivire.

-B NUM, --înainte de context=NUM
NUM linii de context de conducere înainte de liniile de potrivire.

--[Fara pauza
Imprimați o pauză între rezultatele din diferite fișiere. Activat în mod implicit când este utilizat
interactiv.

-C [NUM], --context[=NUM]
NUM linii (implicit 2) de context în jurul liniilor care se potrivesc.

-c, --numara
Suprima ieșirea normală; în schimb, imprimați un număr de linii potrivite pentru fiecare fișier de intrare.
If -l este în vigoare, va afișa doar numărul de linii pentru fiecare fișier care are linii
potrivire. Fără -l, unele linii pot fi zero.

Dacă este combinat cu -h (--no-filename) ack iese doar un număr total.

--[fără]culoare, --[fără]culoare
--culoare evidențiază textul potrivit. --nocolor suprima culoarea. Aceasta este pe până
implicit, cu excepția cazului în care rezultatul este redirecționat.

Pe Windows, această opțiune este dezactivată în mod implicit, cu excepția cazului în care modulul Win32::Console::ANSI este
instalat sau este utilizată variabila de mediu „ACK_PAGER_COLOR”.

--color-filename=culoare
Setează culoarea care va fi utilizată pentru numele fișierelor.

--color-match=culoare
Setează culoarea care va fi folosită pentru potriviri.

--color-lineno=culoare
Setează culoarea care va fi utilizată pentru numerele de linii.

--[fără]coloană
Afișați numărul coloanei primei potriviri. Acest lucru este util pentru editorii care pot plasa
cursorul dvs. într-o poziție dată.

--create-ackrc
Transferă opțiunile implicite de confirmare la ieșirea standard. Acest lucru este util atunci când doriți
personalizați setările implicite.

--descărcare
Scrie lista de opțiuni încărcate și de unde au provenit în ieșirea standard. La indemana
pentru depanare.

--[nu]env
--noenv dezactivează toate procesarea mediului. Nu .ackrc este citit și tot mediul
variabilele sunt ignorate. În mod implicit, ACK consideră .ackrc și setări în
mediu. (envrironment)

--culoare
--culoare elimină imediat ieşirea. Aceasta este dezactivată în mod implicit, cu excepția cazului în care ack rulează
interactiv (atunci când ieșirea se duce la o conductă sau un fișier).

-f Tipăriți doar fișierele care ar fi căutate, fără a efectua de fapt nicio căutare.
PATTERN nu trebuie specificat, altfel va fi luat ca cale de căutare.

--files-from=FILE
Lista fișierelor care trebuie căutate este specificată în FILE. Lista fișierelor sunt
separate prin linii noi. Dacă FILE este „-”, lista este încărcată de la intrarea standard.

--[fără filtru
Forțează ack să acționeze ca și cum ar primi intrarea printr-o conductă.

--[nu]urmărește
Urmați sau nu urmăriți legăturile simbolice, altele decât fișierele sau directoarele de pornire
au fost specificate pe linia de comandă.

Aceasta este dezactivată în mod implicit.

-g MODEL
Imprimați fișierele în care se potrivește calea relativă + numele fișierului MODEL. Această opțiune poate fi
combinate cu --culoare pentru a facilita identificarea meciului.

--[fără]grup
--grup grupează potrivirile după numele fișierului. Aceasta este valoarea implicită atunci când este utilizată interactiv.

--niciun grup imprimă un rezultat pe linie, cum ar fi grep. Aceasta este valoarea implicită când este rezultatul
redirecționat.

-H, --cu-nume-fișier
Tipăriți numele fișierului pentru fiecare potrivire. Acesta este implicit, cu excepția cazului în care căutați unul singur
fișier specificat în mod explicit.

-h, --no-filename
Suprimați prefixarea numelor de fișiere la ieșire atunci când sunt căutate mai multe fișiere.

--[fără]titlu
Tipăriți un titlu de nume de fișier deasupra rezultatelor fiecărui fișier. Acesta este implicit atunci când este utilizat
interactiv.

--Ajutor, -?
Imprimați o scurtă declarație de ajutor.

--tipuri de ajutor, --help=tipuri
Tipăriți toate tipurile cunoscute.

-i, --ignora-majuscule
Ignorați distincțiile cu majuscule și minuscule în PATTERN

--ignore-ack-defaults
Spune lui ack să ignore complet definițiile implicite furnizate cu ack. Aceasta este
util în combinație cu --create-ackrc dacă într-adevăr doriți să personalizați ack.

--[nu]ignore-dir=DIRNAME, --[nu]ignore-directory=DIRNAME
Ignorați directorul (deoarece CVS, .svn etc. sunt ignorate). Poate fi folosit de mai multe ori pentru a ignora
mai multe directoare. De exemplu, utilizatorii zidar ar putea dori să includă --ignore-dir=date.
--noignore-dir opțiunea permite utilizatorilor să caute directoare care ar fi în mod normal
ignorat (poate pentru a cerceta conținutul .svn/recuzită directoare).

DIRNAME trebuie să fie întotdeauna un nume de director simplu. directoare imbricate ca foo/bar
NU sunt acceptate. Ar trebui să specificați --ignore-dir=foo și apoi fără fișiere de la
orice director foo este luat în considerare prin ack, cu excepția cazului în care este dat în mod explicit în comandă
linia.

--ignore-file=TIP FILTRE: FILTERARGS
Ignorați fișierele care se potrivesc TIP FILTRE: FILTERARGS. Filtrele sunt specificate identic cu
filtre de tip de fișier, așa cum se vede în „Definirea propriilor tipuri”.

-k, --tipuri-cunoscute
Limitați fișierele selectate la cele cu tipuri despre care ack știe. Aceasta este echivalentă cu
comportamentul implicit găsit în ack 1.

--linii=NUM
Doar linie de imprimare NUM din fiecare dosar. Mai multe linii pot fi date cu multiple --linii
opțiuni sau ca o listă separată prin virgulă (--linii=3,5,7). --linii=4-7 functioneaza de asemenea. The
liniile sunt întotdeauna scoase în ordine crescătoare, indiferent de ordinea dată în comandă
linia.

-l, --fișiere-cu-potriviri
Tipăriți numai numele fișierelor care se potrivesc, în loc de textul care se potrivește.

-L, --fișiere-fără-potriviri
Tipăriți numai numele fișierelor care fac acest lucru NU meci.

--Meci MODEL
Se specifică MODEL explicit. Acest lucru este util dacă nu doriți să puneți expresia regex ca
primul argument, de exemplu, atunci când executați mai multe căutări pe același set de fișiere.

# căutați foo și bar în fișierele date
ack file1 t/file* --match foo
ack file1 t/file* --match bar

-m=NUM, --max-count=NUM
Nu mai citiți un fișier după NUM chibrituri.

--om
Imprimați această pagină de manual.

-n, --fara-recurs
Fără coborâre în subdirectoare.

-o Afișați numai partea din fiecare rând care se potrivește cu MODEL (dezactivează evidențierea textului)

--ieșire=expres
Rezultă evaluarea expres pentru fiecare linie (dezactivează evidențierea textului) Dacă PATTERN
se potrivește de mai multe ori, apoi se iese o linie pentru fiecare potrivire care nu se suprapune. Pentru mai mult
informații vă rugăm să consultați secțiunea „Exemple de --ieșire".

--pager=program, --nopager
--pager direcționează ieșirea lui ack prin program. Acest lucru poate fi specificat și prin intermediul
Variabilele de mediu „ACK_PAGER” și „ACK_PAGER_COLOR”.

Folosirea --pager nu suprimă gruparea și colorarea, precum ieșirea de conducte pe
linia de comandă face.

--nopager anulează orice setare în ~/.ackrc, „ACK_PAGER” sau „ACK_PAGER_COLOR”. Nu
ieșirea va fi trimisă printr-un pager.

--trece prin
Imprimă toate liniile, indiferent dacă se potrivesc sau nu cu expresia. Evidențierea va încă
funcționează, totuși, astfel încât să poată fi folosit pentru a evidenția potrivirile în timp ce văd în continuare întregul
fișier, ca în:

# Urmăriți un fișier jurnal și evidențiați o anumită adresă IP
$ coada -f ~/access.log | ack --passthru 123.45.67.89

--print0
Funcționează numai împreună cu -f, -g, -l sau -c (ieșire nume de fișier). Numele fișierelor sunt
ieșire separată cu un octet nul în loc de linia nouă obișnuită. Acest lucru este util când
se ocupă cu nume de fișiere care conțin spații albe, de ex

# eliminați toate fișierele de tip html
ack -f --html --print0 | xargs -0 rm -f

-Q, --literal
Citați toate metacaracterele din PATTERN, este tratat ca un literal.

-r, -R, --recurs
Recurs în subdirectoare. Acesta este implicit și aici pentru compatibilitate cu
grep. Il poti folosi si pentru intoarcere --fara-recurs off.

-s Suprimați mesajele de eroare despre fișiere inexistente sau ilizibile. Acesta este luat din
fgrep.

--[no]carcasă inteligentă, --nu-carca-inteligentă
Ignorați majuscule în șirurile de căutare dacă PATTERN nu conține caractere majuscule. Aceasta este
similar cu „smartcase” din vim. Această opțiune este dezactivată în mod implicit și ignorată dacă „-i” este
specificat.

-i anulează întotdeauna această opțiune.

--sortare-fișiere
Sortează fișierele găsite lexicografic. Utilizați acest lucru dacă doriți ca listele dvs. de fișiere
fi determinist între runde de ACK.

--show-types
Afișează tipurile de fișiere care se asociază cu fiecare fișier.

Funcționează cu -f si -g opțiuni.

--type=[nu]TYPE
Specificați tipurile de fișiere de inclus sau de exclus dintr-o căutare. TYPE este un tip de fișier,
ca perl or xml. --type=perl poate fi specificat și ca --perl și --type=noperl poate să
fi făcut ca --noperl.

Dacă un fișier este de tip „foo” și „bar”, specificarea --foo și --nobar va exclude
fișierul, deoarece o excludere are prioritate față de o includere.

Specificațiile de tip pot fi repetate și sunt OR împreună.

Vedea ACK --help=tipuri pentru o listă de tipuri valide.

--type-add TIP:FILTRU:FILTERARGS
Fișierele cu FILTERARGS dat aplicate filtrului dat sunt recunoscute ca fiind ale
(existentul) tip TYPE. Consultați și „Definirea propriilor tipuri”.

--tip-set TIP:FILTRU:FILTERARGS
Fișierele cu FILTERARGS dat aplicate filtrului dat sunt recunoscute ca fiind ale
tip TIP. Aceasta înlocuiește o definiție existentă pentru tipul TYPE. Vezi și „Definirea
propriile tale tipuri”.

--type-del TIP
Filtrele asociate cu TYPE sunt eliminate din Ack și nu mai sunt luate în considerare
pentru căutări.

-v, --invers-potrivire
Inversare potrivire: selectați linii care nu se potrivesc

--versiune
Afișează informații despre versiune și copyright.

-w, --cuvânt-regexp
Forțați PATTERNul să se potrivească numai cu cuvinte întregi. MODELUL este înfășurat cu „\b”
metacaracterele.

-x O prescurtare pentru --files-from=-; lista de fișiere de căutat este citită din standard
intrare, cu o linie pe fișier.

-1 Se oprește după raportarea primului meci de orice fel. Aceasta este diferită de --max-count=1
or -m1, unde este afișată o singură potrivire per fișier. De asemenea, -1 lucrări cu -f si -g, În cazul în care
-m nu.

--thpppt
Afișează importanta sigla Bill The Cat. Rețineți că ortografia exactă a
--thpppppt nu este important. Este comparat cu o expresie regulată.

--bar
Verificați cu amiralul pentru capcane.

--cathy
Ciocolata, ciocolata, ciocolata!

THE .ackrc FILE


.ackrc fișierul conține opțiuni de linie de comandă care sunt adăugate la linia de comandă
înainte de prelucrare. Mai multe opțiuni pot trăi pe mai multe linii. Linii care încep cu #
sunt ignorate. A .ackrc ar putea arăta astfel:

# Sortați întotdeauna fișierele
--sortare-fișiere

# Întotdeauna colorați, chiar dacă sunt conectate la un alt program
--culoare

# Folosiți „mai puțin -r” ca pagina mea
--pager=mai puțin -r

Rețineți că argumentele cu spații în ele nu trebuie citate, deoarece nu sunt
interpretat de coajă. Practic, fiecare linie în .ackrc fișierul este interpretat ca unul
element al @ARGV.

ACK cauta in mai multe locatii pentru .ackrc dosare; procesul de căutare este detaliat în
„SEMANTICA LOCALIZĂRII ACKRC”. Aceste fișiere nu sunt luate în considerare dacă --noenv este specificat pe
Linie de comanda.

Definire ta propriu Tipuri


ack vă permite să definiți propriile tipuri în plus față de tipurile predefinite. Acest lucru este făcut
cu opțiuni de linie de comandă care sunt cel mai bine introduse într-un .ackrc fișier - atunci nu trebuie
definiți-vă tipurile din nou și din nou. În exemplele următoare, opțiunile vor fi întotdeauna
să fie afișate pe o singură linie de comandă, astfel încât să poată fi ușor copiate și lipite.

ACK --perl foo caută foo în toate fișierele perl. ACK --help=tipuri îți spune că perl
fișierele sunt fișiere care se termină în .pl, .pm, .pod sau .t. Ce se întâmplă dacă doriți să includeți .xs
fișiere, precum și atunci când căutați fișiere --perl? ACK --type-add perl:ext:xs --perl foo face
Asta pentru tine. --type-add adaugă extensii suplimentare unui tip existent.

Dacă doriți să definiți un tip nou sau să redefiniți complet un tip existent, atunci utilizați
--tip-set. ACK --tip-set eiffel:ext:e,eiffel definește tipul Eiffel pentru a include fișiere
cu extensiile .e sau .eiffel. Deci pentru a căuta toate fișierele Eiffel care conțin cuvântul
folosește Bertrand ACK --tip-set eiffel:ext:e,eiffel --eiffel Bertrand. Ca de obicei, poți și tu
scrie --type=eiffel în loc de --eiffel. Negația funcționează, deci --noeiffel exclude pe toate
fișiere Eiffel dintr-o căutare. Redefinirea funcționează și: ACK --tip-set cc:ext:c,h si .xs fișiere
nu mai aparțin tipului cc.

Când definiți propriile tipuri în .ackrc fișier, trebuie să utilizați următoarele:

--type-set=eiffel:ext:e,eiffel

sau scriind pe rânduri separate

--tip-set
eiffel:ext:e,eiffel

Următoarele face NU lucrează în .ackrc fișier:

--type-set eiffel:ext:e,eiffel

Pentru a vedea toate tipurile definite în prezent, utilizați --tipuri de ajutor, de exemplu ACK --tip-set
backup:ext:bak --type-add perl:ext:perl --tipuri de ajutor

Pe lângă filtrarea bazată pe extensie (cum ar fi ack 1.x permis), ack 2 oferă
tipuri de filtre suplimentare. Sintaxa generică este --tip-set TIP:FILTRE:FILTERARGS;
FILTERARGS depinde de valoarea lui FILTRU.

este:NUME DE FIȘIER
is filtrele se potrivesc exact cu numele fișierului țintă. Este nevoie de un singur argument, adică
numele fișierului care trebuie să se potrivească.

Exemplu:

--type-set make:is:Makefile

afară:EXTENSIE[,EXTENSIUNEA 2[,...]]
ext filtrele potrivesc extensia fișierului țintă cu o listă de extensii. Nu
pentru extensii este necesar punctul de început.

Exemplu:

--type-set perl:ext:pl,pm,t

joc:MODEL
Meci filtrele se potrivesc cu numele fișierului țintă cu o expresie regulată. Obisnuit
expresia este făcută insensibilă la majuscule și minuscule pentru căutare.

Exemplu:

--type-set make:match:/(gnu)?makefile/

primul meci:MODEL
primul meci potrivește prima linie a fișierului țintă cu o expresie regulată.
Aprecieri Meci, expresia regulată nu face distincție între majuscule și minuscule.

Exemplu:

--type-add perl:firstlinematch:/perl/

Mai multe tipuri de filtre pot fi disponibile în viitor.

MEDIUL VARIABILE


Pentru opțiunile de confirmare utilizate în mod obișnuit, variabilele de mediu pot face viața mult mai ușoară. Aceste
variabilele sunt ignorate dacă --noenv este specificat pe linia de comandă.

ACKRC
Specifică locația utilizatorului .ackrc fişier. Dacă acest fișier nu există, ACK
arată în locația implicită.

ACK_OPȚIUNI
Această variabilă specifică opțiunile implicite care trebuie plasate în fața oricăror opțiuni explicite
pe linia de comandă.

ACK_COLOR_FILENAME
Specifică culoarea numelui fișierului atunci când este imprimat --grup modul. În mod implicit,
este „verde îndrăzneț”.

Atributele recunoscute sunt clare, resetate, întunecate, aldine, subliniere, subliniere, clipire,
invers, negru ascuns, roșu, verde, galben, albastru, magenta, on_black, on_red,
pe_verde, pe_galben, pe_albastru, pe_magenta, pe_cian și pe_alb. Cazul nu este
semnificativ. Sublinierea și sublinierea sunt echivalente, așa cum sunt clare și resetate. The
doar culoarea setează culoarea primului plan, iar on_color stabilește culoarea fundalului.

Această opțiune poate fi setată și cu --color-filename.

ACK_COLOR_MATCH
Specifică culoarea textului potrivit atunci când este imprimat --culoare modul. În mod implicit,
este „negru pe_galben”.

Această opțiune poate fi setată și cu --potrivire-culoare.

Vedea ACK_COLOR_FILENAME pentru specificațiile de culoare.

ACK_COLOR_LINENO
Specifică culoarea numărului liniei atunci când este imprimat --culoare modul. Implicit, este
„galben îndrăzneț”.

Această opțiune poate fi setată și cu --color-lineno.

Vedea ACK_COLOR_FILENAME pentru specificațiile de culoare.

ACK_PAGER
Specifică un program de paginare, cum ar fi „mai mult”, „mai puțin” sau „mai mult”, către care va trimite ack
ieșirea acestuia.

Folosirea „ACK_PAGER” nu suprimă gruparea și colorarea precum ieșirea de conducte pe
linia de comandă o face, cu excepția faptului că pe Windows ack va presupune că „ACK_PAGER” nu
culoare suport.

„ACK_PAGER_COLOR” înlocuiește „ACK_PAGER” dacă ambele sunt specificate.

ACK_PAGER_COLOR
Specifică un program de paginare care înțelege secvențele de culori ANSI. Folosind
„ACK_PAGER_COLOR” nu suprimă gruparea și colorarea precum ieșirea de conducte pe
linia de comandă face.

Dacă nu sunteți pe Windows, nu trebuie să utilizați niciodată „ACK_PAGER_COLOR”.

DISPONIBIL CULORI


ACK folosește culorile disponibile în modulul Perl Term::ANSColor, care oferă
următoarele valori enumerate. Rețineți că cazul nu contează atunci când utilizați aceste valori.

prim plan culori
negru roșu verde galben albastru magenta cyan alb

negru_aprins roșu_aprins verde_aprins galben_aprins
albastru_luminos magenta_luminos cian_luminos alb_luminos

Context culori
pe_negru pe_roșu pe_verde pe_galben
pe_albastru pe_magenta pe_cyan pe_alb

on_luminos_negru pe_luminos_rosu pe_luminos_verde pe_bright_yellow
on_bright_blue on_bright_magenta on_bright_cyan on_bright_white

ACK & ALTE UNELTE


sevă integrare
ACK se integrează ușor cu editorul de text Vim. Setați asta în dvs .vimrc să utilizeze ACK in schimb
of grep:

set grepprg=ack\ -k

Acest exemplu folosește „-k” pentru a căuta doar fișierele de tipul pe care ack știe, dar tu
poate folosi alte steaguri implicite. Acum poți căuta cu ACK și păși ușor prin
rezultate în Vim:

:grep Dumper perllib

Miles Sterrett a scris un plugin Vim pentru ACK care vă permite să utilizați „:Ack” în loc de
„:grep”, precum și alte câteva funcții avansate.



Emacs integrare
Phil Jackson a pus împreună o ack.el extensie care „oferă un mod simplu de compilare...
are capacitatea de a ghici ce fișiere doriți să căutați în funcție de modul major."

<http://www.shellarchive.co.uk/content/emacs.html>

TextMate integrare
Pedro Melo este un utilizator TextMate care scrie „Îmi petrec ziua în principal în TextMate și
Găsirea în proiect încorporată e prost cu proiectele mari. Așa că am spart o comandă TextMate care
folosea find + grep pentru a folosi ack. Rezultatul este Căutarea în proiect cu ack și tu
il gasesti aici:
<http://www.simplicidade.org/notes/archives/2008/03/search_in_proje.html>"

Coajă si Retur Cod
Pentru o mai mare compatibilitate cu grep, ACK în utilizare normală returnează shell return sau cod de ieșire
de 0 numai dacă se găsește ceva și 1 dacă nu se găsește nicio potrivire.

(Codul de ieșire 1 este „$?=256” în perl cu „sistem” sau backtick-uri.)

grep codul 2 pentru erori nu este folosit.

Dacă sunt specificate „-f” sau „-g”, atunci este returnat 0 dacă este găsit cel puțin un fișier. Daca nu
fișierele sunt găsite, apoi se returnează 1.

DEBUGARE ACK PROBLEME


Dacă ack vă oferă rezultate la care nu vă așteptați, începeți cu câțiva pași simpli.

Utilizare --noenv
Variabilele dvs. de mediu și .ackrc poate face lucruri la care nu te aștepți sau
ai uitat ai specificat. Utilizare --noenv să-ţi ignori mediul şi .ackrc.

Utilizare -f la vedea ceea ce fișiere avea fost selectate
lui Ack -f a fost adăugat inițial ca instrument de depanare. Dacă ack nu găsește se potrivește cu tine
cred că ar trebui să găsească, fugi ACK -f pentru a vedea ce fișiere au fost selectate. De asemenea, puteți adăuga
opțiunile „--show-types” pentru a afișa tipul fiecărui fișier selectat.

Utilizare --descărcare
Aceasta listează fișierele ackrc care sunt încărcate și opțiunile încărcate din ele. Prin urmare
De exemplu, puteți găsi o listă de directoare care nu sunt căutate sau unde sunt tipurile de fișiere
definit.

SFATURI


Utilizare il .ackrc fișier.
.ackrc este locul în care puteți pune toate opțiunile pe care le utilizați de cele mai multe ori, dar nu doriți
tine minte. Puneți toate definițiile --type-add și --type-set în el. Dacă vrei
--smart-case, pune-l și acolo. Am setat și --sort-files acolo.

Utilizare -f pentru de lucru cu mare seturi de coduri
Ack face mai mult decât să caute fișiere. „ack -f --perl” va crea o listă cu toate fișierele Perl
într-un copac, ideal pentru a trimite în xargs. De exemplu:

# Schimbați tot „aceasta” în „aceasta” în toate fișierele Perl dintr-un arbore.
ack -f --perl | xargs perl -p -i -e's/this/that/g'

sau daca preferi:

perl -p -i -e's/this/that/g' $(ack -f --perl)

Utilizare -Q cand in îndoială despre metacaracterele
Dacă căutați ceva cu un metacaracter expresie regulată, cel mai adesea a
punct într-un nume de fișier sau o adresă IP, adăugați -Q pentru a evita falsele pozitive fără toate
backslashing. Vezi următorul exemplu pentru mai multe...

Utilizare ACK la ceas log fișiere
Iată unul pe care l-am folosit zilele trecute pentru a găsi puncte problematice pentru un vizitator al site-ului. Utilizatorul a avut
o problemă la încărcare supărător.gif, așa că am luat jurnalul de acces și l-am scanat cu ack de două ori.

ack -Q aa.bb.cc.dd /path/to/access.log | ack -Q -B5 supărător.gif

Prima confirmare găsește numai liniile din jurnalul Apache pentru IP-ul dat. A doua constatare
potrivirea pe GIF-ul meu supărător și arată cele cinci rânduri anterioare din jurnal în fiecare
caz.

Exemple of --ieșire
Următoarele variabile sunt utile în șirul de expansiune:

$& Întregul șir potrivit de PATTERN.

1 USD, 2 USD,...
Conținutul primului, al doilea ... grupă între paranteze în PATTERN.

"$`"
Coarda dinaintea meciului.

"$'"
Sforul de după meci.

Pentru mai multe detalii și alte variabile vezi
<http://perldoc.perl.org/perlvar.html#Variables-related-to-regular-expressions|perlvar>.

Acest exemplu arată cum să adăugați text în jurul unui anumit model (în acest caz adăugând _
în jurul cuvântului cu „e”)

ack2.pl „\w*e\w*” quick.txt --output="$`_$&_$'"
_Vulpea_ maro iute sare peste câinele leneș
Vulpea maro iute sare _peste_ câinele leneș
Vulpea maro iute sare peste _câinele_ leneș

Aceasta arată cum să alegeți anumite părți ale unei potriviri folosind ( ) în obișnuit
expresie.

ack '=head(\d+)\s+(.*)' --output=' $1 : $2'
fișierul de intrare conține „=head1 NAME”
ieșire „1: NUME”

Distribuie ta cunoştinţe
Alăturați-vă listei de corespondență ack-users. Trimite-mi sfaturile tale și le pot adăuga aici.

Întrebări Frecvente


De ce nu este ACK descoperire a Meci in (niste fişier)?
Probabil pentru că este de un tip pe care ack nu îl recunoaște. comportamentul de căutare al lui ack este
condus de tipul de fișier. If ACK nu ști ceea ce natural of fişier it este, ACK ignorările il fișier.

Utilizați comutatorul „-f” pentru a vedea o listă de fișiere care vă vor căuta. Puteți folosi
Comutator „--show-types” pentru a arăta ce tip de confirmare crede că este fiecare fișier.

Nu ar fi it be mare if ACK a făcut căutare & a inlocui?
Nu, ack va fi întotdeauna doar pentru citire. Perl are o modalitate perfect bună de a căuta și înlocui
fișiere, folosind comutatoarele „-i”, „-p” și „-n”.

Cu siguranță puteți folosi ack pentru a selecta fișierele de actualizat. De exemplu, pentru a schimba totul
„foo” la „bar” în toate fișierele PHP, puteți face acest lucru din shell-ul Unix:

$ perl -i -p -e's/foo/bar/g' $(ack -f --php)

Putea I face ACK recunoaște .xyz fisiere?
Da! Consultați „Definirea propriilor tipuri”. Dacă crezi că ACK ar trebui să recunoască un tip
în mod implicit, consultați „ÎMBUNĂTĂRI”.

Există deja a program/pachet denumit ack.
Da, stiu.

De ce is it denumit ACK if este denumit ack-grep?
Numele programului este „ack”. Unii pachetatori l-au numit „ack-grep” atunci când au creat
pachete pentru că există deja un pachet numit „ack” care nu are nimic de-a face
cu acest ack.

Vă sugerez să faceți un link simbolic numit ACK care indică ack-grep deoarece una dintre cele cruciale
beneficiile ack este să ai un nume atât de scurt și simplu de tastat.

Pentru a face asta, rulați asta cu sudo sau ca root:

ln -s /usr/bin/ack-grep /usr/bin/ack

Alternativ, puteți utiliza un alias shell:

# bash/zsh
alias ack=ack-grep

# csh
alias ack ack-grep

Ce face ACK Adică?
Nimic. Am vrut un nume care să fie ușor de tastat și pe care să-l poți pronunța ca un singur
silabă.

Putea I do multi-linie regexe?
Nu, ack nu acceptă regexe care se potrivesc cu mai multe linii. A face acest lucru ar necesita
citind întregul fișier odată.

Dacă doriți să vedeți linii în apropierea meciului dvs., utilizați comutatoarele „--A”, „--B” și „--C” pentru
afișarea contextului.

De ce is ACK spune me I avea an invalid opțiune cand căutare pentru „+foo”?
ack tratează opțiunile liniei de comandă care încep cu „+” sau „-” ca opțiuni; daca ti-ar placea
căutați acestea, puteți prefixa termenul de căutare cu „--” sau puteți utiliza opțiunea „--match”.
(Cu toate acestea, nu uitați că „+” este un metacaracter al expresiei regulate!)

De ce face "ack '.{40000,}'" eșua? Nu este acea a valabil regex?
Limbajul Perl limitează cuantificatorul de repetiție la 32K. Puteți căuta „.{32767}”
dar nu „.{32768}”.

ACKRC LOCAȚIE SEMANTICĂ


Ack își poate încărca configurația din mai multe surse. Această listă specifică sursele Ack
caută configurație; fiecare care este găsit este încărcat în ordinea specificată aici, și
fiecare suprascrie opțiunile setate în oricare dintre sursele care îl precedă. (De exemplu, dacă am setat
--sort-files în utilizatorul meu ackrc și --nosort-files pe linia de comandă, linia de comandă
are prioritate)

· Valorile implicite sunt încărcate din App::Ack::ConfigDefaults. Acest lucru poate fi omis folosind
„--ignore-ack-defaults”.

· Ackrc global

Opțiunile sunt apoi încărcate din ackrc global. Acesta se află la „/etc/ackrc” pe
Sisteme asemănătoare Unix.

În Windows XP și versiuni anterioare, ackrc este la „C:\Documents and Settings\All
Users\Application Data\ackrc".

În Windows Vista/7, ackrc global este la „C:\ProgramData”

Opțiunea „--noenv” împiedică încărcarea tuturor fișierelor ackrc.

· Ackrc utilizator

Opțiunile sunt apoi încărcate din ackrc-ul utilizatorului. Acesta se află la „$HOME/.ackrc” pe
Sisteme asemănătoare Unix.

În Windows XP și versiuni anterioare, ackrc-ul utilizatorului este la „C:\Documents and
Setări\$USER\Application Data\ackrc".

În Windows Vista/7, ackrc-ul utilizatorului este la .

Dacă doriți să încărcați un alt ackrc la nivel de utilizator, acesta poate fi specificat cu $ACKRC
variabilă de mediu.

Opțiunea „--noenv” împiedică încărcarea tuturor fișierelor ackrc.

· Proiect ackrc

Opțiunile sunt apoi încărcate din proiectul ackrc. Proiectul ackrc este primul ackrc
fișier cu numele „.ackrc” sau „_ackrc”, căutând mai întâi în directorul curent,
apoi directorul părinte, apoi directorul bunicilor etc. Acest lucru poate fi omis
folosind „--noenv”.

· --ackrc

Opțiunea „--ackrc” poate fi inclusă pe linia de comandă pentru a specifica un fișier ackrc care
poate trece peste toate celelalte. Se consultă chiar dacă „--noenv” este prezent.

· ACK_OPTIONS

Opțiunile sunt apoi încărcate din variabila de mediu „ACK_OPTIONS”. Acesta poate fi
omis folosind „--noenv”.

· Linie de comanda

Opțiunile sunt apoi încărcate din linia de comandă.

DIFERENȚE ÎNTRE ACK 1.X AND ACK 2.X


S-au făcut multe modificări pentru ack 2; iată o listă cu ele.

GENERAL CHANGES
· Când nu sunt specificati selectori, ack 1.x caută numai prin fișierele pe care le poate mapa
la un tip de fișier. ack 2.x, prin contrast, va căuta prin fiecare obișnuit, non-binar
fișier care nu este ignorat în mod explicit prin --ignore-file or --ignore-dir. Acest lucru este
similar cu comportamentul lui -a/--toate opțiune în ack 1.x.

· A fost adăugat un sistem de filtrare mai flexibil, astfel încât să fie mai puternice tipuri de fișiere
creat de utilizator. Pentru detalii, consultați „Definirea propriilor tipuri”.

· ack încarcă acum mai multe fișiere ackrc; consultați „SEMANTICA LOCALIZĂRII ACKRC” pentru detalii.

· definițiile implicite ale filtrului ack nu sunt speciale; s-ar putea să-i spui ack complet
ignora-le daca nu iti plac.

ÎNDEPĂRTAT OPŢIUNI
· Din cauza modificării comportamentului de căutare implicit, -a/--toate si -u/--nerestricted
opțiunile au fost eliminate. In plus -k/--tipuri-cunoscute a fost adăugată opțiunea
determina ack să se comporte cu comportamentul de căutare implicit al ack 1.x.

· -G opțiunea a fost eliminată. Două expresii regulate pe linia de comandă au fost
considerat prea confuz; a simula -GFuncționalitatea lui, puteți utiliza noul -x
opțiunea de a canaliza numele fișierelor de la o invocare a ack în alta.

· --binar opțiunea a fost eliminată.

· --sărit opțiunea a fost eliminată.

· --text opțiunea a fost eliminată.

· --invert-file-match opțiunea a fost eliminată. În schimb, puteți folosi -v cu -g.

SCHIMBAT OPŢIUNI
· Opțiunile care modifică comportamentul expresiei regulate (-i, -w, -Q și -v) poate acum
să fie folosit cu -g.

ADĂUGAT OPŢIUNI
· --fișiere-de la a fost adăugat astfel încât un utilizator să poată trimite o listă de nume de fișiere ca o listă de
fișiere de căutat.

· -x a fost adăugat pentru a spune lui ack să accepte o listă de nume de fișiere prin intrare standard; această listă
este lista de nume de fișiere care vor fi folosite pentru căutare.

· -s a fost adăugat pentru a spune lui ack să suprima mesajele de eroare despre inexistente sau ilizibile
fișiere.

· --ignore-director si --noignore-director au fost adăugate ca pseudonime pentru --ignore-dir si
--noignore-dir respectiv.

· --ignore-file a fost adăugat astfel încât utilizatorii să poată specifica modele de fișiere de ignorat (ex.
/.*~$/).

· --descărcare a fost adăugat pentru a permite utilizatorilor să afle cu ușurință ce opțiuni sunt setate unde.

· --create-ackrc a fost adăugat pentru ca utilizatorii să poată crea fișiere personalizate ackrc pe baza
setările implicite încărcate de ack și astfel încât utilizatorii să poată vizualiza cu ușurință acele setări implicite.

· --type-del a fost adăugat pentru a elimina selectiv definițiile tipului de fișier.

· --ignore-ack-defaults a fost adăugat astfel încât utilizatorii să poată ignora opțiunile implicite ale ack în
favoarea lor.

· --bar a fost adăugată astfel încât utilizatorii ack să poată consulta Admiral Ackbar.

Utilizați ack-grepp online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    unitedrpms
    unitedrpms
    Alăturați-vă nouă în Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Activați depozitul URPMS din dvs
    sistem -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Descărcați unitedrpms
  • 2
    Boost bibliotecile C ++
    Boost bibliotecile C ++
    Boost oferă portabil gratuit
    biblioteci C++ revizuite de colegi. The
    se pune accent pe bibliotecile portabile care
    funcționează bine cu biblioteca standard C++.
    Vezi http://www.bo...
    Descărcați bibliotecile Boost C++
  • 3
    VirtualGL
    VirtualGL
    VirtualGL redirecționează comenzile 3D de la a
    Aplicația Unix/Linux OpenGL pe un
    GPU pe partea de server și convertește
    a redat imagini 3D într-un flux video
    cu care ...
    Descărcați VirtualGL
  • 4
    libusb
    libusb
    Bibliotecă pentru a activa spațiul utilizatorului
    programe de aplicație cu care să comunicați
    dispozitive USB. Public: Dezvoltatori, End
    Utilizatori/Desktop. Limbajul de programare: C.
    Categorii ...
    Descărcați libusb
  • 5
    ÎNGHIŢITURĂ
    ÎNGHIŢITURĂ
    SWIG este un instrument de dezvoltare software
    care conectează programele scrise în C și
    C++ cu o varietate de nivel înalt
    limbaje de programare. SWIG este folosit cu
    diferit...
    Descărcați SWIG
  • 6
    Tema WooCommerce Nextjs React
    Tema WooCommerce Nextjs React
    Tema React WooCommerce, construită cu
    Urmează JS, Webpack, Babel, Node și
    Express, folosind GraphQL și Apollo
    Client. Magazin WooCommerce în React(
    contine: Produse...
    Descărcați tema WooCommerce Nextjs React
  • Mai mult »

Comenzi Linux

Ad