EngelsFransSpaans

OnWorks-favicon

ackp - Online in de cloud

Voer ackp uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht ackp die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


ack - grep-achtige tekstzoeker

KORTE INHOUD


ack [opties] PATROON [BESTAND...]
ack -f [opties] [DIRECTORY...]

PRODUCTBESCHRIJVING


Ack is ontworpen als een alternatief voor: grep voor programmeurs.

Ack zoekt in de benoemde invoerbestanden (of standaardinvoer als er geen bestanden zijn genoemd, of het bestand
naam - wordt gegeven) voor regels die een overeenkomst met het gegeven PATROON bevatten. Standaard, ack
drukt de bijpassende lijnen af.

PATTERN is een reguliere expressie van Perl. Reguliere expressies van Perl worden vaak aangetroffen in
andere programmeertalen, maar voor de bijzonderheden van hun gedrag, raadpleeg
<http://perldoc.perl.org/perlreref.html|perlreref>. Als je niet weet hoe je normaal moet gebruiken
meningsuiting maar geïnteresseerd bent in leren, kunt u contact opnemen met
<http://perldoc.perl.org/perlretut.html|perlret>. Als u geen ack nodig hebt of wilt gebruiken:
reguliere expressies, zie de "-Q"/"--literal" optie.

Ack kan ook bestanden weergeven die zouden worden doorzocht, zonder ze daadwerkelijk te doorzoeken, om te laten
u profiteert van de filtermogelijkheden van het bestandstype van ack.

FILE SELECTIE


Als bestanden niet zijn gespecificeerd om te zoeken, hetzij op de opdrachtregel of doorgesluisd met de
"-x" optie, ack duikt in submappen en selecteert bestanden om te zoeken.

ack is intelligent over de bestanden die het doorzoekt. Het kent bepaalde bestandstypen, gebaseerd op
op zowel de extensie van het bestand als, in sommige gevallen, de inhoud van het bestand. Deze
selecties kunnen worden gemaakt met de --type optie.

Zonder bestandsselectie, ack zoekt door reguliere bestanden die niet expliciet zijn
uitgesloten door --negeer-dir en --ignore-bestand opties, ofwel aanwezig in ackrc bestanden of op
de opdrachtregel.

De standaardopties voor ack negeer bepaalde bestanden en mappen. Waaronder:

· Back-upbestanden: overeenkomende bestanden #*# of eindigend met ~.

· Coredumps: overeenkomende bestanden kern.\d+

· Versiebeheermappen zoals .svn en .git.

lopen ack met de "--dump" optie om te zien welke instellingen zijn ingesteld.

Echter, ack zoekt altijd de bestanden die op de opdrachtregel worden gegeven, ongeacht het type. Indien
je vertelt ack om in een coredump te zoeken, zoekt het in een coredump.

DIRECTORY SELECTIE


ack daalt af door de directorystructuur van de opgegeven startdirectory's. Als Nee
directory's zijn opgegeven, wordt de huidige werkdirectory gebruikt. Het zal echter negeren
de schaduwmappen die door veel versiebeheersystemen worden gebruikt, en de bouwmappen
gebruikt door het Perl MakeMaker-systeem. U kunt een map toevoegen aan of verwijderen uit deze lijst met:
the --[no]negeren-dir optie. De optie kan worden herhaald om meerdere mappen toe te voegen/te verwijderen
uit de negeerlijst.

Voor een volledige lijst van mappen die niet worden doorzocht, voer je "ack --dump" uit.

WANNEER TO GEBRUIK GREP


ack troeven grep als een alledaags hulpmiddel 99% van de tijd, maar gooi niet grep weg wegens
er zijn tijden dat je het nog steeds nodig hebt.

Bijv. door enorme bestanden zoeken op zoek naar regexes die kunnen worden uitgedrukt met grep
syntaxis zou sneller moeten zijn met grep.

Als uw script of ouderprogramma gebruikmaakt van grep "--quiet" of "--silent" of heeft exit 2 nodig op IO
fout, gebruik grep.

OPTIES


--acrc
Specificeert een ackrc-bestand dat na alle andere moet worden geladen; zie "ACKRC LOCATIESEMANTICA".

-A NUM, --na-context=NUM
Print NUM regels met volgcontext na overeenkomende regels.

-B NUM, --voor-context=NUM
Print NUM lijnen van leidende context voordat overeenkomende lijnen.

--[geen pauze
Druk een pauze af tussen resultaten van verschillende bestanden. Standaard aan bij gebruik
interactief.

-C [NUM], --context[=NUM]
Print NUM regels (standaard 2) van context rond overeenkomende regels.

-c, --Graaf
Onderdruk normale uitvoer; print in plaats daarvan een telling van overeenkomende regels voor elk invoerbestand.
If -l van kracht is, toont het alleen het aantal regels voor elk bestand met regels
bij elkaar passen. Zonder -l, kunnen sommige regeltellingen nullen zijn.

Indien gecombineerd met -h (--geen-bestandsnaam) ack voert slechts één totale telling uit.

--[geen kleur, --[geen]kleur
--kleur markeert de overeenkomende tekst. --geen kleur onderdrukt de kleur. Dit is op door
standaard tenzij de uitvoer wordt omgeleid.

In Windows is deze optie standaard uitgeschakeld, tenzij de Win32::Console::ANSI-module is
geïnstalleerd of de omgevingsvariabele "ACK_PAGER_COLOR" wordt gebruikt.

--color-bestandsnaam=kleur
Stelt de kleur in die voor bestandsnamen moet worden gebruikt.

--kleur-overeenkomst=kleur
Stelt de kleur in die voor overeenkomsten moet worden gebruikt.

--kleur-lijno=kleur
Stelt de kleur in die voor regelnummers moet worden gebruikt.

--[geen]kolom
Toon het kolomnummer van de eerste overeenkomst. Dit is handig voor redacteuren die kunnen plaatsen
uw cursor op een bepaalde positie.

--creëer-ackrc
Dumpt de standaard ack-opties naar standaarduitvoer. Dit is handig voor wanneer u wilt
de standaardinstellingen aanpassen.

--dumpen
Schrijft de lijst met geladen opties en waar ze vandaan kwamen naar standaarduitvoer. Handig
voor debuggen.

--[geen]env
--geenv schakelt alle omgevingsverwerking uit. Nee .ackrc is gelezen en alle omgeving
variabelen worden genegeerd. Standaard, ack beschouwt .ackrc en instellingen in de
milieu.

--doorspoelen
--doorspoelen spoelt de uitgang onmiddellijk door. Dit is standaard uitgeschakeld, tenzij ack actief is
interactief (wanneer de uitvoer naar een pijp of bestand gaat).

-f Druk alleen de bestanden af ​​die zouden worden doorzocht, zonder daadwerkelijk te zoeken.
PATTERN mag niet worden opgegeven, anders wordt het gebruikt als zoekpad.

--bestanden-van=FILE
De lijst met te doorzoeken bestanden wordt gespecificeerd in FILE. De lijst met bestanden is:
gescheiden door nieuwe regels. Indien FILE "-" is, wordt de lijst geladen vanaf standaardinvoer.

--[geen filter
Forces ack om te handelen alsof het input ontvangt via een pijp.

--[nee]volgen
Volg of volg geen symbolische links, behalve de startbestanden of mappen
zijn opgegeven op de opdrachtregel.

Dit staat standaard uit.

-g PATROON
Bestanden afdrukken waar het relatieve pad + bestandsnaam overeenkomt PATROON. Deze optie kan zijn:
gecombineerd met --kleur om het gemakkelijker te maken om de wedstrijd te spotten.

--[geen]groep
--groep groepen komen overeen op bestandsnaam. Dit is de standaardinstelling bij interactief gebruik.

--geen groep drukt één resultaat per regel af, zoals grep. Dit is de standaardinstelling wanneer de uitvoer is
omgeleid.

-H, --met-bestandsnaam
Druk de bestandsnaam af voor elke wedstrijd. Dit is de standaardinstelling, tenzij er een enkele wordt gezocht
expliciet gespecificeerd bestand.

-h, --geen-bestandsnaam
Onderdruk het voorvoegsel van bestandsnamen bij uitvoer wanneer meerdere bestanden worden doorzocht.

--[geen]kop
Druk een bestandsnaamkop af boven de resultaten van elk bestand. Dit is de standaardinstelling bij gebruik
interactief.

--help, -?
Druk een korte helpverklaring af.

--help-types, --help=soorten
Print alle bekende soorten.

-i, --negeer zaak
Negeer onderscheid tussen hoofdletters in PATTERN

--negeer-standaardinstellingen
Vertelt ack om de standaarddefinities van ack volledig te negeren. Dit is
handig in combinatie met --creëer-ackrc als je werkelijk ack wilt aanpassen.

--[nee]negeer-dir=DIRNAAM, --[nee]negeer-directory=DIRNAAM
Negeer directory (omdat CVS, .svn, enz. worden genegeerd). Kan meerdere keren worden gebruikt om te negeren
meerdere mappen. Metselaargebruikers willen bijvoorbeeld mogelijk opnemen: --ignore-dir=gegevens.
De --noignore-dir optie stelt gebruikers in staat om mappen te doorzoeken die normaal gesproken
genegeerd (misschien om de inhoud van .svn/rekwisieten mappen).

De DIRNAAM moet altijd een eenvoudige mapnaam zijn. Geneste mappen zoals foe/bar
worden NIET ondersteund. U zou moeten specificeren: --ignore-dir=foo en dan geen bestanden van
elke foo-directory wordt door ack in aanmerking genomen, tenzij expliciet op het commando gegeven
lijn.

--ignore-bestand=FILTERTYPE:FILTERARGS
Negeer bestanden die overeenkomen FILTERTYPE:FILTERARGS. De filters zijn identiek gespecificeerd aan:
bestandstypefilters zoals te zien in "Uw eigen typen definiëren".

-k, --bekende-types
Beperk geselecteerde bestanden tot bestanden met typen die ack kent. Dit is gelijk aan
het standaardgedrag gevonden in ack 1.

--lijnen=NUM
Alleen regel afdrukken NUM van elk bestand. Meerdere regels kunnen worden gegeven met multiple --lijnen
opties of als een door komma's gescheiden lijst (--lijnen=3,5,7). --lijnen=4-7 werkt ook. De
regels worden altijd in oplopende volgorde uitgevoerd, ongeacht de volgorde die op het commando wordt gegeven
lijn.

-l, --bestanden-met-overeenkomsten
Print alleen de bestandsnamen van overeenkomende bestanden, in plaats van de overeenkomende tekst.

-L, --bestanden-zonder-overeenkomsten
Druk alleen de bestandsnamen af ​​van bestanden die dat wel doen NIET overeenkomen.

--bij elkaar passen PATROON
Geef het PATROON uitdrukkelijk. Dit is handig als u de regex niet wilt plaatsen als
uw eerste argument, bijvoorbeeld bij het uitvoeren van meerdere zoekopdrachten over dezelfde set bestanden.

# zoek naar foo en bar in bepaalde bestanden
ack bestand1 t/bestand* --match foo
ack bestand1 t/bestand* --overeenkomstbalk

-m=NUM, --max-aantal=NUM
Stop met het lezen van een bestand nadat NUM wedstrijden.

--Mens
Druk deze handleiding af.

-n, --geen-recursie
Geen afdalen naar submappen.

-o Toon alleen het deel van elke regel dat overeenkomt met PATTERN (schakelt tekstmarkering uit)

--uitvoer=uitdrukken
Voer de evaluatie uit van uitdrukken voor elke regel (schakelt tekstmarkering uit) Als PATTERN
meer dan één keer overeenkomt, wordt er een regel uitgevoerd voor elke niet-overlappende overeenkomst. Voor meer
informatie zie de sectie "Voorbeelden van --uitvoer".

--pager=programma, --geen pagina
--pieper stuurt de uitvoer van ack door programma. Dit kan ook aangegeven worden via de
"ACK_PAGER" en "ACK_PAGER_COLOR" omgevingsvariabelen.

Het gebruik van --pager onderdrukt het groeperen en kleuren niet zoals piping-uitvoer op de
opdrachtregel doet.

--geen pagina annuleert elke instelling in ~/.ackrc, "ACK_PAGER" of "ACK_PAGER_COLOR". Nee
output wordt verzonden via een pager.

--doorgang
Drukt alle regels af, ongeacht of ze overeenkomen met de uitdrukking. Markeren zal nog steeds
werken echter, dus het kan worden gebruikt om overeenkomsten te markeren terwijl je nog steeds de hele
bestand, zoals in:

# Bekijk een logbestand en markeer een bepaald IP-adres
$ staart -f ~/toegang.log | ack --passthru 123.45.67.89

--afdrukken0
Werkt alleen in combinatie met -f, -g, -l of -c (uitvoer van bestandsnaam). De bestandsnamen zijn
uitvoer gescheiden door een null-byte in plaats van de gebruikelijke nieuwe regel. Dit is handig wanneer:
omgaan met bestandsnamen die witruimte bevatten, bijv

# verwijder alle bestanden van het type html
ack -f --html --print0 | xargs -0 rm -f

-Q, --letterlijk
Citeer alle metatekens in PATTERN, het wordt behandeld als een letterlijke.

-r, -R, --recursie
Recurse in submappen. Dit is de standaard en alleen hier voor compatibiliteit met
grep. Je kunt het ook gebruiken om te draaien --geen-recursie uit.

-s Onderdruk foutmeldingen over niet-bestaande of onleesbare bestanden. Dit is overgenomen van
fgrep.

--[no]smartcase, --geen-smart-case
Negeer hoofdletters in de zoekreeksen als PATTERN geen hoofdletters bevat. Dit is
vergelijkbaar met "smartcase" in vim. Deze optie is standaard uitgeschakeld en wordt genegeerd als "-i" is
gespecificeerd.

-i overschrijft deze optie altijd.

--sort-bestanden
Sorteert de gevonden bestanden lexicografisch. Gebruik dit als u wilt dat uw bestandsvermeldingen:
wees deterministisch tussen runs van ack.

--show-types
Voert de bestandstypen uit die bij elk bestand horen.

Werkt met -f en -g opties.

--type=[nee]TYPE
Geef de typen bestanden op die u wilt opnemen in of uitsluiten van een zoekopdracht. TYPE is een bestandstype,
als perl or xml. --type=perl kan ook worden gespecificeerd als --perl en --type=noperl blikje
gedaan worden als --noperl.

Als een bestand zowel van het type "foo" als "bar" is, zal het specificeren van --foo en --nobar uitsluiten
het bestand, omdat een uitsluiting voorrang heeft op een opname.

Typespecificaties kunnen worden herhaald en worden samengevoegd.

Bekijk ack --help=soorten voor een lijst met geldige typen.

--type-toevoegen TYPE:FILTER:FILTERARGS
Bestanden met de gegeven FILTERARGS toegepast op de gegeven FILTER worden herkend als zijnde van
(het bestaande) type TYPE. Zie ook "Uw eigen typen definiëren".

--typeset TYPE:FILTER:FILTERARGS
Bestanden met de gegeven FILTERARGS toegepast op de gegeven FILTER worden herkend als zijnde van
typ TYPE. Dit vervangt een bestaande definitie voor type TYPE. Zie ook "Definiëren"
uw eigen typen".

--type-del TYPE
De filters die bij TYPE horen, worden verwijderd uit Ack en worden niet langer in overweging genomen
voor zoekopdrachten.

-v, --invert-overeenkomst
Overeenkomst omkeren: selecteer niet-overeenkomende regels

--versie
Versie en copyrightinformatie weergeven.

-w, --woord-regexp
Forceer PATROON om alleen hele woorden te matchen. Het PATROON is omwikkeld met "\b"
metakarakters.

-x Een afkorting voor --bestanden-van=-; de lijst met te doorzoeken bestanden wordt standaard gelezen
invoer, met één regel per bestand.

-1 Stopt na het melden van de eerste wedstrijd van welke aard dan ook. Dit is anders dan --max-aantal=1
or -m1, waarbij slechts één overeenkomst per bestand wordt weergegeven. Ook, -1 werkt met -f en -g, Waar
-m doet niet.

--thpppt
Laat het allerbelangrijkste Bill The Cat-logo zien. Merk op dat de exacte spelling van
--thppppt is niet belangrijk. Het wordt vergeleken met een reguliere expressie.

--bar
Vraag de admiraal naar vallen.

--kathy
Chocolade, chocolade, chocolade!

HET .ackrc FILE


De .ackrc bestand bevat opdrachtregelopties die aan de opdrachtregel worden toegevoegd
voor verwerking. Meerdere opties kunnen op meerdere lijnen leven. Regels die beginnen met een #
worden genegeerd. EEN .ackrc zou er zo uit kunnen zien:

# Sorteer de bestanden altijd
--sort-bestanden

# Altijd inkleuren, ook als je naar een ander programma doorloopt
--kleur

# Gebruik "less -r" als mijn pager
--pager=minder -r

Merk op dat argumenten met spaties erin niet tussen aanhalingstekens hoeven te staan, aangezien dat niet het geval is
geïnterpreteerd door de schaal. In principe, elke lijn in de .ackrc bestand wordt geïnterpreteerd als één
element van @ARGV.

ack zoekt op verschillende locaties naar .ackrc bestanden; het zoekproces is gedetailleerd in
"ACKRC LOCATIESEMANTICA". Deze bestanden worden niet in aanmerking genomen als: --geenv staat vermeld op de
opdrachtregel.

Het definiëren jouw het te bezitten. types


ack stelt u in staat om uw eigen typen te definiëren naast de vooraf gedefinieerde typen. Dit is gedaan
met opdrachtregelopties die het beste in een .ackrc bestand - dan hoeft u dat niet te doen
definieer uw typen steeds opnieuw. In de volgende voorbeelden zullen de opties altijd
worden weergegeven op één opdrachtregel, zodat ze gemakkelijk kunnen worden gekopieerd en geplakt.

ack --perl foo zoekt naar foo in alle perl-bestanden. ack --help=soorten vertelt je, dat perl
bestanden zijn bestanden die eindigen op .pl, .pm, .pod of .t. Dus wat als u .xs . wilt opnemen?
bestanden ook bij het zoeken naar --perl-bestanden? ack --type-toevoegen perl:ext:xs --perl foo doet
dit is voor jou. --type-toevoegen voegt extra extensies toe aan een bestaand type.

Als u een nieuw type wilt definiëren, of een bestaand type volledig opnieuw wilt definiëren, gebruik dan
--typeset. ack --typeset eiffel:ext:e,eiffel definieert het type eiffel bestanden opnemen
met de extensies .e of .eiffel. Dus om te zoeken naar alle eiffelbestanden die het woord bevatten
Bertrand gebruik ack --typeset eiffel:ext:e,eiffel --eiffel Bertrand. Zoals gewoonlijk kunt u ook
schrijven --type=eiffel in plaats van --eiffel. Negeren werkt ook, dus --noeiffel sluit alles uit
eiffel-bestanden van een zoekopdracht. Herdefiniëren werkt ook: ack --typeset cc:ext:c,h en .xs bestanden
behoren niet meer tot het type cc.

Bij het definiëren van uw eigen typen in de .ackrc bestand moet je het volgende gebruiken:

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

of schrijven op aparte regels

--typeset
eiffel:ext:e,eiffel

Het volgende doet: NIET werk in de .ackrc file:

--typeset eiffel:ext:e,eiffel

Om alle momenteel gedefinieerde typen te zien, gebruik --help-types, bijv ack --typeset
back-up:ext:bak --type-toevoegen perl:ext:perl --help-types

Naast filteren op extensie (zoals ack 1.x toegestaan), biedt ack 2
extra filtertypes. De generieke syntaxis is --typeset TYPE:FILTER:FILTERARGS;
FILTERARGS hangt af van de waarde van FILTER.

is:BESTANDSNAAM
is filters komen exact overeen met de doelbestandsnaam. Er is precies één argument voor nodig, namelijk:
de naam van het bestand dat overeenkomt.

Voorbeeld:

--type-set make:is:Makefile

uit:UITBREIDING[,UITBREIDING2[,...]]
ext filters matchen de extensie van het doelbestand met een lijst met extensies. Nee
leidende punt is nodig voor de extensies.

Voorbeeld:

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

spel:PATROON
match filters matchen de doelbestandsnaam met een reguliere expressie. de gewone
uitdrukking wordt hoofdletterongevoelig gemaakt voor de zoekopdracht.

Voorbeeld:

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

eerstelijnswedstrijd:PATROON
eerstelijnsmatch vergelijkt de eerste regel van het doelbestand met een reguliere expressie.
Like match, wordt de reguliere expressie hoofdletterongevoelig gemaakt.

Voorbeeld:

--type-perl toevoegen:firstlinematch:/perl/

Mogelijk komen er in de toekomst meer filtertypes beschikbaar.

MILIEU VARIABELEN


Voor veelgebruikte ack-opties kunnen omgevingsvariabelen het leven veel gemakkelijker maken. Deze
variabelen worden genegeerd als --geenv wordt gespecificeerd op de opdrachtregel.

ACKRC
Specificeert de locatie van de gebruiker .ackrc het dossier. Als dit bestand niet bestaat, ack
kijkt op de standaardlocatie.

ACK_OPTIONS
Deze variabele specificeert standaardopties die vóór eventuele expliciete opties moeten worden geplaatst
op de opdrachtregel.

ACK_COLOR_FILENAME
Specificeert de kleur van de bestandsnaam wanneer deze wordt afgedrukt in --groep modus. Standaard,
het is "vet groen".

De herkende kenmerken zijn duidelijk, opnieuw ingesteld, donker, vet, onderstrepen, onderstrepen, knipperen,
omgekeerd, verborgen zwart, rood, groen, geel, blauw, magenta, on_black, on_red,
on_green, on_yellow, on_blue, on_magenta, on_cyan en on_white. Geval is niet
significant. Onderstrepen en onderstrepen zijn equivalent, evenals duidelijk en opnieuw ingesteld. De
kleur alleen stelt de voorgrondkleur in en on_color stelt de achtergrondkleur in.

Deze optie kan ook worden ingesteld met --kleur-bestandsnaam.

ACK_COLOR_MATCH
Specificeert de kleur van de overeenkomende tekst wanneer deze wordt afgedrukt in --kleur modus. Standaard,
het is "zwart op_geel".

Deze optie kan ook worden ingesteld met --kleurenmatch.

Bekijk ACK_COLOR_FILENAME voor de kleurspecificaties.

ACK_COLOR_LINENR
Specificeert de kleur van het regelnummer wanneer afgedrukt in --kleur modus. Standaard is het
"vet geel".

Deze optie kan ook worden ingesteld met --kleur-lino.

Bekijk ACK_COLOR_FILENAME voor de kleurspecificaties.

ACK_PAGER
Specificeert een semafoonprogramma, zoals "more", "less" of "most", waarnaar ack zal verzenden
zijn uitvoer.

Het gebruik van "ACK_PAGER" onderdrukt niet groeperen en kleuren zoals piping-uitvoer op de
opdrachtregel wel, behalve dat in Windows ack ervan uitgaat dat "ACK_PAGER" niet
ondersteuning kleur.

"ACK_PAGER_COLOR" overschrijft "ACK_PAGER" als beide zijn opgegeven.

ACK_PAGER_COLOR
Specificeert een pagerprogramma dat ANSI-kleurreeksen begrijpt. Gebruik makend van
"ACK_PAGER_COLOR" onderdrukt niet groeperen en kleuren zoals piping-uitvoer op de
opdrachtregel doet.

Als u geen Windows gebruikt, hoeft u nooit "ACK_PAGER_COLOR" te gebruiken.

BESCHIKBAAR KLEUREN


ack gebruikt de kleuren die beschikbaar zijn in Perl's Term::ANSIColor-module, die de
volgende vermelde waarden. Merk op dat hoofdlettergebruik er niet toe doet bij het gebruik van deze waarden.

Voorgrond kleuren
zwart rood groen geel blauw magenta cyaan wit

helder_zwart helder_rood helder_groen helder_geel
helder_blauw helder_magenta helder_cyaan helder_wit

Achtergrond kleuren
aan_zwart aan_rood aan_groen aan_geel
on_blue on_magenta on_cyaan on_white

aan_bright_black aan_bright_red aan_bright_green aan_bright_geel
on_bright_blue on_bright_magenta on_bright_cyaan on_bright_white

ACK & ANDERE TOOLS


Vim integratie
ack integreert eenvoudig met de Vim-teksteditor. Zet dit in je .vimrc gebruiken ack verkrijgen in plaats daarvan
of grep:

stel grepprg=ack\ -k . in

Dat voorbeeld gebruikt "-k" om alleen bestanden te doorzoeken van het type dat ack kent, maar jij
kan andere standaardvlaggen gebruiken. Nu kunt u zoeken met ack en stap gemakkelijk door de
resultaten in Vim:

:grep Dumper perllib

Miles Sterrett heeft een Vim-plug-in geschreven voor: ack waarmee u ":Ack" kunt gebruiken in plaats van
":grep", evenals verschillende andere geavanceerde functies.



Emacs integratie
Phil Jackson samengesteld en ak.el extensie die "een eenvoudige compilatiemodus biedt ...
heeft de mogelijkheid om te raden naar welke bestanden u wilt zoeken op basis van de hoofdmodus."

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

TextMate integratie
Pedro Melo is een TextMate-gebruiker die schrijft: "Ik breng mijn dag voornamelijk door in TextMate, en de
ingebouwde zoek-in-project zuigt met grote projecten. Dus ik heb een TextMate-commando gehackt dat
gebruikte find + grep om ack te gebruiken. Het resultaat is de Search in Project met ack, en jij
kan het hier vinden:
<http://www.simplicidade.org/notes/archives/2008/03/search_in_proje.html>"

Shell en Retourneren Code
Voor meer compatibiliteit met grep, ack bij normaal gebruik retourneert shell return- of exit-code
van 0 alleen als er iets wordt gevonden en 1 als er geen overeenkomst wordt gevonden.

(Shell-exitcode 1 is "$?=256" in perl met "system" of backticks.)

De grep code 2 voor fouten wordt niet gebruikt.

Als "-f" of "-g" zijn opgegeven, wordt 0 geretourneerd als er ten minste één bestand wordt gevonden. Als Nee
bestanden worden gevonden, wordt er 1 geretourneerd.

DEBUGEN ACK PROBLEMEN


Als ack u output geeft die u niet verwacht, begin dan met een paar eenvoudige stappen.

Te gebruiken --geenv
Uw omgevingsvariabelen en .ackrc misschien dingen doet die je niet verwacht, of
vergeten dat je hebt opgegeven. Gebruik maken van --geenv om je omgeving te negeren en .ackrc.

Te gebruiken -f naar zien wat bestanden hebben geweest gekozen
Ack's -f was oorspronkelijk toegevoegd als een foutopsporingstool. Als ack geen overeenkomsten met jou vindt
denk dat het moet vinden, rennen ack -f om te zien welke bestanden zijn geselecteerd. U kunt ook toevoegen
de "--show-types" opties om het type van elk geselecteerd bestand te tonen.

Te gebruiken --dumpen
Dit geeft een overzicht van de ackrc-bestanden die zijn geladen en de opties die daaruit worden geladen. Dus voor
u kunt bijvoorbeeld een lijst vinden met mappen die niet worden doorzocht of waar bestandstypen zich bevinden
gedefinieerd.

TIPS


Te gebruiken the .ackrc bestand.
De .ackrc is de plek om al uw opties te plaatsen die u het meest gebruikt, maar niet wilt
onthouden. Zet al uw --type-add en --type-set definities erin. Als je dat wil
--smart-case, zet hem daar ook. Ik heb daar ook --sort-files ingesteld.

Te gebruiken -f voor werkzaam met groot codesets
Ack doet meer dan alleen bestanden zoeken. "ack -f --perl" zal een lijst maken van alle Perl-bestanden
in een boom, ideaal om in te versturen xargs. Bijvoorbeeld:

# Verander alles "dit" in "dat" in alle Perl-bestanden in een boomstructuur.
ack -f --perl | xargs perl -p -i -e's/dit/dat/g'

of als je dat liever hebt:

perl -p -i -e's/dit/dat/g' $(ack -f --perl)

Te gebruiken -Q wanneer in twijfelen over metatekens
Als u op zoek bent naar iets met een metateken voor reguliere expressies, is meestal a
punt in een bestandsnaam of IP-adres, voeg de -Q toe om valse positieven te voorkomen zonder alle
terugkrabbelen. Zie het volgende voorbeeld voor meer...

Te gebruiken ack naar horloge inloggen bestanden
Hier is er een die ik onlangs gebruikte om knelpunten voor een websitebezoeker te vinden. De gebruiker had
een probleem met laden lastig.gif, dus ik nam het toegangslogboek en scande het twee keer met ack.

ack -Q aa.bb.cc.dd /path/to/access.log | ack -Q -B5 lastig.gif

De eerste ack vindt alleen de regels in het Apache-logboek voor het opgegeven IP-adres. De tweede vondst
de match op mijn lastige GIF, en toont de vorige vijf regels uit het log in elk
geval.

Voorbeelden of --uitvoer
De volgende variabelen zijn handig in de uitbreidingsreeks:

$& De hele string die overeenkomt met PATTERN.

$ 1, $ 2, ...
De inhoud van de 1e, 2e ... groep tussen haakjes in PATTERN.

"$`"
De string voor de wedstrijd.

"$'"
De string na de wedstrijd.

Voor meer details en andere variabelen zie
<http://perldoc.perl.org/perlvar.html#Variabelen-gerelateerd aan-reguliere-expressies|perlvar>.

Dit voorbeeld laat zien hoe u tekst rond een bepaald patroon kunt toevoegen (in dit geval het toevoegen van _
rond woord met "e")

ack2.pl "\w*e\w*" quick.txt --output="$`_$&_$'"
_The_ snelle bruine vos springt over de luie hond
De snelle bruine vos springt _over_ de luie hond
De snelle bruine vos springt over _de_ luie hond

Dit laat zien hoe je bepaalde delen van een wedstrijd kunt uitkiezen met ( ) binnen regular
expressie.

ack '=head(\d+)\s+(.*)' --output=' $1 : $2'
invoerbestand bevat "=head1 NAME"
uitgang "1 : NAAM"

Delen jouw kennis
Word lid van de ack-users mailinglijst. Stuur me je tips en wellicht voeg ik ze hier toe.

FAQ


Waarom is niet ack het vinden van a match in (sommige het dossier)?
Waarschijnlijk omdat het van een type is dat ack niet herkent. ack's zoekgedrag is
gedreven door bestandstype. If ack niet om te weten wat wat soort of filet it is, ack negeert the bestand.

Gebruik de schakelaar "-f" om een ​​lijst met bestanden te zien die ack voor u zal zoeken. U kunt de
"--show-types" schakelaar om te laten zien welk type ack denkt dat elk bestand is.

zou niet it be groot if ack deed search & vervangen?
Nee, ack is altijd alleen-lezen. Perl heeft een prima manier om te zoeken en vervangen in
bestanden, met behulp van de schakelaars "-i", "-p" en "-n".

U kunt ack zeker gebruiken om uw bestanden te selecteren die u wilt bijwerken. Om bijvoorbeeld alles te veranderen
"foo" naar "bar" in alle PHP-bestanden, je kunt dit doen vanuit de Unix-shell:

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

Kan I maken ack herkennen xyz bestanden?
Ja! Zie "Uw eigen typen definiëren". Als je dat denkt ack zou een type moeten herkennen
zie standaard "VERBETERINGEN".

er is al a programma/pakket Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen. ak.
Ja dat weet ik.

Waarom is it Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen. ack if haar Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen. ak-grep?
De naam van het programma is "ack". Sommige verpakkers hebben het "ack-grep" genoemd bij het maken
pakketten omdat er al een pakket bestaat met de naam "ack" dat niets te maken heeft
met deze ak.

Ik stel voor dat je een symbolische link maakt met de naam ack dat wijst naar ak-grep omdat een van de cruciale
voordelen van ack is het hebben van een naam die zo kort en eenvoudig is om te typen.

Om dat te doen, voer dit uit met sudo of als root:

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

Als alternatief kunt u een shell-alias gebruiken:

#bash/zsh
alias ack=ack-grep

#csh
alias ack ack-grep

Wat doet ack gemiddelde?
Niks. Ik wilde een naam die gemakkelijk te typen was en die je als single kon uitspreken
lettergreep.

Kan I do meerlijnig regex?
Nee, ack ondersteunt geen regexes die overeenkomen met meerdere regels. Dit zou vereisen:
het hele bestand tegelijk inlezen.

Als u lijnen in de buurt van uw match wilt zien, gebruikt u de schakelaars "--A", "--B" en "--C" voor
context weergeven.

Waarom is ack vertellen me I hebben an ongeldig optie wanneer zoeken voor "+foo"?
ack behandelt opdrachtregelopties die beginnen met "+" of "-" als opties; Als je wilt
Als u hiernaar zoekt, kunt u uw zoekterm vooraf laten gaan door "--" of de optie "--match" gebruiken.
(Vergeet echter niet dat "+" een metateken voor reguliere expressies is!)

Waarom doet "ack '.{40000,}'" mislukken? is het niet uit die a geldig gewone expressie?
De Perl-taal beperkt de herhalingskwantificator tot 32K. U kunt zoeken naar ".{32767}"
maar niet ".{32768}".

ACKRC LOCATIE SEMANTIEK


Ack kan zijn configuratie uit vele bronnen laden. Deze lijst specificeert de bronnen Ack
zoekt naar configuratie; elk gevonden bestand wordt geladen in de hier gespecificeerde volgorde, en
elk heeft voorrang op opties die zijn ingesteld in een van de voorgaande bronnen. (Als ik bijvoorbeeld instel
--sort-files in mijn gebruiker ackrc, en --nosort-files op de opdrachtregel, de opdrachtregel
heeft voorrang)

· Standaardwaarden worden geladen vanuit App::Ack::ConfigDefaults. Dit kan worden weggelaten met
"--ignore-ack-defaults".

· Wereldwijde bevestiging

Opties worden dan geladen vanuit de globale ackrc. Deze bevindt zich op "/etc/ackrc" op
Unix-achtige systemen.

Onder Windows XP en eerder bevindt de ackrc zich op "C:\Documents and Settings\All"
Gebruikers\Applicatiegegevens\ackrc".

Onder Windows Vista/7 staat de globale ackrc op "C:\ProgramData"

De optie "--noenv" voorkomt dat alle ackrc-bestanden worden geladen.

· Gebruiker ackrc

Opties worden dan geladen vanuit de ackrc van de gebruiker. Deze bevindt zich op "$HOME/.ackrc" op
Unix-achtige systemen.

Onder Windows XP en eerder bevindt de ackrc van de gebruiker zich op "C:\Documents en"
Instellingen\$USER\Applicatiegegevens\ackrc".

Onder Windows Vista/7 is de ackrc van de gebruiker op .

Als u een ander ackrc op gebruikersniveau wilt laden, kan dit worden gespecificeerd met de $ACKRC
variabele omgeving.

De optie "--noenv" voorkomt dat alle ackrc-bestanden worden geladen.

· Projectbevestiging

Opties worden vervolgens geladen vanuit het project ackrc. Het project ackrc is de eerste ackrc
bestand met de naam ".ackrc" of "_ackrc", eerst zoeken in de huidige map,
dan de bovenliggende map, dan de grootoudermap, enz. Dit kan worden weggelaten
met behulp van "--noenv".

· --acrc

De optie "--ackrc" kan op de opdrachtregel worden opgenomen om een ​​ackrc-bestand te specificeren dat
kan alle andere overschrijven. Het wordt zelfs geraadpleegd als "--noenv" aanwezig is.

· ACK_OPTIONS

Opties worden dan geladen vanuit de omgevingsvariabele "ACK_OPTIONS". Dit kan zijn
weggelaten met behulp van "--noenv".

· Opdrachtregel

Opties worden vervolgens geladen vanaf de opdrachtregel.

VERSCHILLEN TUSSEN ACK 1.X EN ACK 2.X


Er zijn veel wijzigingen aangebracht voor ack 2; hier is een lijst van hen.

ALGEMEEN WIJZIGINGEN
· Als er geen selectors zijn opgegeven, zoekt ack 1.x alleen door bestanden die het kan toewijzen
naar een bestandstype. ack 2.x daarentegen doorzoekt elke reguliere, niet-binaire
bestand dat niet expliciet wordt genegeerd via --ignore-bestand or --negeer-dir. Dit is
gelijk aan het gedrag van de -een/--allemaal optie in ack 1.x.

· Er is een flexibeler filtersysteem toegevoegd, zodat krachtigere bestandstypen mogelijk zijn
gemaakt door de gebruiker. Raadpleeg "Uw eigen typen definiëren" voor meer informatie.

· ack laadt nu meerdere ackrc-bestanden; zie "ACKRC-LOCATIESEMANTIEK" voor details.

· ack's standaard filterdefinities zijn niet speciaal; je kunt ack volledig vertellen
negeer ze als je ze niet leuk vindt.

VERWIJDERD OPTIES
· Vanwege de verandering in het standaard zoekgedrag, -een/--allemaal en -u/--onbeperkt
opties zijn verwijderd. tevens de -k/--bekende-types optie is toegevoegd aan
ervoor zorgen dat ack zich gedraagt ​​met het standaard zoekgedrag van ack 1.x.

· De -G optie is verwijderd. Twee reguliere expressies op de opdrachtregel waren
als te verwarrend beschouwd; simuleren -Gfunctionaliteit, kunt u de nieuwe -x
optie om bestandsnamen van de ene aanroep van ack naar de andere te pipen.

· De --binair optie is verwijderd.

· De --overgeslagen optie is verwijderd.

· De --tekst optie is verwijderd.

· De --omkeren-bestand-overeenkomst optie is verwijderd. In plaats daarvan kunt u -v met -g.

GEWIJZIGD OPTIES
· De opties die het gedrag van de reguliere expressie wijzigen (-i, -w, -Q en -v) mag nu
worden gebruikt met -g.

TOEGEVOEGD OPTIES
· --bestanden-van is toegevoegd zodat een gebruiker een lijst met bestandsnamen kan indienen als een lijst met
bestanden om te zoeken.

· -x is toegevoegd om ack te vertellen een lijst met bestandsnamen te accepteren via standaardinvoer; deze lijst
is de lijst met bestandsnamen die voor de zoekopdracht zullen worden gebruikt.

· -s is toegevoegd om ack te vertellen om foutmeldingen over niet-bestaand of onleesbaar te onderdrukken
bestanden.

· --negeer-directory en --noignore-map zijn toegevoegd als aliassen voor --negeer-dir en
--noignore-dir respectievelijk.

· --ignore-bestand is toegevoegd zodat gebruikers patronen van te negeren bestanden kunnen specificeren (bijv.
/.*~$/).

· --dumpen is toegevoegd zodat gebruikers gemakkelijk kunnen achterhalen welke opties waar zijn ingesteld.

· --creëer-ackrc is toegevoegd zodat gebruikers aangepaste ackrc-bestanden kunnen maken op basis van de
standaardinstellingen geladen door ack, en zodat gebruikers deze standaardinstellingen gemakkelijk kunnen bekijken.

· --type-del is toegevoegd om selectief bestandstypedefinities te verwijderen.

· --negeer-standaardinstellingen is toegevoegd zodat gebruikers de standaardopties van ack kunnen negeren in
eigen gunst.

· --bar is toegevoegd zodat ack-gebruikers Admiral Ackbar kunnen raadplegen.

Gebruik ackp online met onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

Linux-commando's

Ad