IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

ack-grepp - Online nel cloud

Esegui ack-grepp nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando ack-grepp che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


ack - cercatore di testo simile a grep

SINOSSI


ack [opzioni] MODELLO [FILE...]
ack -f [opzioni] [DIRECTORY...]

DESCRIZIONE


Ack è pensato come alternativa a grep per programmatori.

Ack ricerca i FILE di input con nome (o l'input standard se nessun file è nominato, o il file
nome - è dato) per le righe che contengono una corrispondenza con il PATTERN dato. Per impostazione predefinita, conferma
stampa le righe corrispondenti.

PATTERN è un'espressione regolare Perl. Le espressioni regolari Perl si trovano comunemente in
altri linguaggi di programmazione, ma per i dettagli del loro comportamento, consultare
<http://perldoc.perl.org/perlreref.html|perlreref>. Se non sai come usare il normale
espressione ma sei interessato ad imparare, puoi consultare
<http://perldoc.perl.org/perlretut.html|perlreut>. Se non hai bisogno o vuoi usare ACK
espressioni regolari, vedere l'opzione "-Q"/"--literal".

Ack può anche elencare i file che verrebbero cercati, senza effettivamente cercarli, per consentire
sfrutti le capacità di filtraggio del tipo di file di ack.

RISORSE SELEZIONE


Se i file non sono specificati per la ricerca, sulla riga di comando o in pipe con il
opzione "-x", ack approfondisce le sottodirectory selezionando i file per la ricerca.

ack è intelligente sui file che cerca. Conosce alcuni tipi di file, in base
sia sull'estensione del file che, in alcuni casi, sul contenuto del file. Queste
le selezioni possono essere effettuate con il --genere opzione.

Senza selezione di file, ack cerca attraverso file regolari che non sono esplicitamente
escluso da --ignore-dir ed --ignora-file opzioni, presenti in ackrc file o su
la riga di comando.

Le opzioni predefinite per ack ignora determinati file e directory. Questi includono:

· File di backup: file corrispondenti #*# o termina con ~.

· Coredumps: File corrispondenti nucleo.\d+

· Directory di controllo della versione come .svn ed .idiota.

Correre ack con l'opzione "--dump" per vedere quali impostazioni sono impostate.

Però, i ack cerca sempre i file forniti sulla riga di comando, indipendentemente dal tipo. Se
dici ack per cercare in un coredump, cercherà in un coredump.

DIRECTORY SELEZIONE


ack scende attraverso l'albero delle directory delle directory di partenza specificate. se no
vengono specificate le directory, viene utilizzata la directory di lavoro corrente. Tuttavia, ignorerà
le directory shadow utilizzate da molti sistemi di controllo della versione e le directory di build
utilizzato dal sistema Perl MakeMaker. Puoi aggiungere o rimuovere una directory da questo elenco con
, il --[no]ignora-dir opzione. L'opzione può essere ripetuta per aggiungere/rimuovere più directory
dall'elenco da ignorare.

Per un elenco completo delle directory che non vengono cercate, eseguire "ack --dump".

QUANDO A USO GREP


ack trionfi grep come uno strumento quotidiano il 99% delle volte, ma non buttare grep via, perché
ci sono volte in cui ne avrai ancora bisogno.

Ad esempio, cercando in file enormi alla ricerca di espressioni regolari che possono essere espresse con grep
la sintassi dovrebbe essere più veloce con grep.

Se il tuo script o programma genitore utilizza grep "--quiet" o "--silent" o richiede l'uscita 2 su IO
errore, uso grep.

VERSIONI


--ackrc
Specifica un file ackrc da caricare dopo tutti gli altri; vedere "SEMANTICA LOCALIZZAZIONE ACKRC".

-A NUM, --dopo-contesto=NUM
Stampa NUM righe di contesto finale dopo le righe corrispondenti.

-B NUM, --prima-contesto=NUM
Stampa NUM righe del contesto principale prima delle righe corrispondenti.

--[nessuna pausa
Stampa un'interruzione tra i risultati di file diversi. Attivo per impostazione predefinita quando utilizzato
in modo interattivo.

-C [NUM], --contesto[=NUM]
Stampa NUM righe (predefinito 2) di contesto attorno alle righe corrispondenti.

-c, --contare
Sopprimere l'uscita normale; stampa invece un conteggio delle righe corrispondenti per ogni file di input.
If -l è in effetti, mostrerà solo il numero di righe per ogni file che ha righe
corrispondenza. Privo di -l, alcuni conteggi di riga potrebbero essere zero.

Se abbinato a -h (--no-nomefile) ack emette un solo conteggio totale.

--[no]colore, --[no]colore
--colore evidenzia il testo corrispondente. --nocolore sopprime il colore. Questo è su da
default a meno che l'output non venga reindirizzato.

Su Windows, questa opzione è disattivata per impostazione predefinita a meno che il modulo Win32::Console::ANSI sia
installato o viene utilizzata la variabile di ambiente "ACK_PAGER_COLOR".

--colore-nomefile=colore
Imposta il colore da utilizzare per i nomi dei file.

--colore-corrispondenza=colore
Imposta il colore da utilizzare per le corrispondenze.

--colore-lineno=colore
Imposta il colore da utilizzare per i numeri di riga.

--[no]colonna
Mostra il numero di colonna della prima corrispondenza. Questo è utile per gli editor che possono inserire
il cursore in una determinata posizione.

--crea-acrc
Scarica le opzioni di riconoscimento predefinite nell'output standard. Questo è utile per quando vuoi
personalizzare le impostazioni predefinite.

--scarico
Scrive l'elenco delle opzioni caricate e la loro provenienza nell'output standard. Maneggevole
per il debug.

--[n]env
--noenv disabilita tutta l'elaborazione dell'ambiente. No .acrc è letto e tutto l'ambiente
le variabili vengono ignorate. Per impostazione predefinita, ack ritiene .acrc e impostazioni nel
ambiente.

--sciacquone
--sciacquone scarica immediatamente l'uscita. Questo è disattivato per impostazione predefinita a meno che non sia in esecuzione ACK
in modo interattivo (quando l'output va in una pipe o in un file).

-f Stampa solo i file che verrebbero cercati, senza eseguire effettivamente alcuna ricerca.
PATTERN non deve essere specificato, altrimenti verrà preso come percorso di ricerca.

--file-da=RISORSE
L'elenco dei file da cercare è specificato in RISORSE. L'elenco dei file è
separati da nuove righe. Se RISORSE è "-", l'elenco viene caricato dallo standard input.

--[senza Filtro
Forza ACK ad agire come se ricevesse input tramite una pipe.

--[non seguire
Segui o non seguire i collegamenti simbolici, a parte qualsiasi file o directory iniziale
sono stati specificati sulla riga di comando.

Questo è disattivato per impostazione predefinita.

-g MODELLO
Stampa i file in cui il percorso relativo + il nome del file corrispondono MODELLO. Questa opzione può essere
combinato con --colore per rendere più facile individuare la partita.

--[no]gruppo
--gruppo raggruppa le corrispondenze in base al nome del file. Questa è l'impostazione predefinita quando viene utilizzata in modo interattivo.

--nessun gruppo stampa un risultato per riga, come grep. Questa è l'impostazione predefinita quando l'output è
reindirizzato.

-H, --con-nomefile
Stampa il nome del file per ogni corrispondenza. Questa è l'impostazione predefinita a meno che non si cerchi un singolo
file esplicitamente specificato.

-h, --no-nomefile
Sopprimere il prefisso dei nomi di file sull'output quando vengono cercati più file.

--[no]titolo
Stampa un'intestazione del nome del file sopra i risultati di ogni file. Questa è l'impostazione predefinita quando viene utilizzata
in modo interattivo.

--Aiuto, -?
Stampa una breve dichiarazione di aiuto.

--tipi-di-aiuto, --help=tipi
Stampa tutti i tipi conosciuti.

-i, --ignora-caso
Ignora le distinzioni di maiuscole in PATTERN

--ignore-ack-default
Dice ad ck di ignorare completamente le definizioni predefinite fornite con ack. Questo è
utile in combinazione con --crea-acrc se tu veramente vuoi personalizzare ack.

--[no]ignora-dir=DIRNOME, --[no]ignora-directory=DIRNOME
Ignora directory (in quanto CVS, .svn, ecc. vengono ignorati). Può essere usato più volte per ignorare
più directory. Ad esempio, gli utenti muratori potrebbero voler includere --ignore-dir=dati.
I --noignore-dir l'opzione consente agli utenti di cercare directory che normalmente sarebbero
ignorato (forse per ricercare il contenuto di .svn/props directory).

I DIRNOME deve essere sempre un semplice nome di directory. Directory annidate come foo/bar
NON sono supportati. Dovresti specificare --ignore-dir=pippo e poi nessun file da
qualsiasi directory foo viene presa in considerazione da ACK a meno che non venga data esplicitamente sul comando
linea.

--ignore-file=TIPO FILTRO: FILTERARGS
Ignora i file corrispondenti TIPO FILTRO: FILTERARGS. I filtri sono specificati in modo identico a
filtri del tipo di file come visto in "Definizione dei propri tipi".

-k, --tipi-noti
Limita i file selezionati a quelli con tipi che ACK conosce. Questo è equivalente a
il comportamento predefinito trovato in ACK 1.

--linee=NUM
Solo linea di stampa NUM di ogni file. Più righe possono essere date con multiple --Linee
opzioni o come elenco separato da virgole (--linee=3,5,7). --linee=4-7 funziona anche. Il
le righe vengono sempre emesse in ordine crescente, indipendentemente dall'ordine dato sul comando
linea.

-l, --file-con-corrispondenze
Stampa solo i nomi dei file corrispondenti, invece del testo corrispondente.

-L, --file-senza-corrispondenze
Stampa solo i nomi dei file che lo fanno NON incontro.

--incontro MODELLO
specificare la MODELLO esplicitamente. Questo è utile se non vuoi mettere l'espressione regolare come
il tuo primo argomento, ad esempio durante l'esecuzione di più ricerche sullo stesso insieme di file.

# cerca foo e bar in determinati file
ack file1 t/file* --match pippo
ack file1 t/file* --match bar

-m=NUM, --conteggio massimo=NUM
Interrompi la lettura di un file dopo NUM partite.

--uomo
Stampa questa pagina di manuale.

-n, --no-ricorrenza
Nessuna discesa in sottodirectory.

-o Mostra solo la parte di ogni riga corrispondente a PATTERN (disattiva l'evidenziazione del testo)

--uscita=espr
Uscita la valutazione di espr per ogni riga (disattiva l'evidenziazione del testo) Se PATTERN
corrisponde più di una volta, quindi viene emessa una riga per ogni corrispondenza non sovrapposta. Per più
informazioni consultare la sezione "Esempi di --produzione".

--cercapersone=Programma, --nocercapersone
--cercapersone dirige l'output di ACK attraverso Programma. Questo può essere specificato anche tramite il
Variabili di ambiente "ACK_PAGER" e "ACK_PAGER_COLOR".

L'uso di --pager non sopprime il raggruppamento e la colorazione come l'output del piping sul
la riga di comando lo fa.

--nocercapersone annulla qualsiasi impostazione in ~/.ackrc, "ACK_PAGER" o "ACK_PAGER_COLOR". No
l'output verrà inviato tramite un cercapersone.

--passare attraverso
Stampa tutte le righe, indipendentemente dal fatto che corrispondano o meno all'espressione. L'evidenziazione continuerà
funziona, tuttavia, quindi può essere utilizzato per evidenziare le corrispondenze mentre si continua a vedere l'intero
file, come in:

# Guarda un file di registro ed evidenzia un determinato indirizzo IP
$ coda -f ~/access.log | ack --passthru 123.45.67.89

--print0
Funziona solo in combinazione con -f, -g, -l o -c (output del nome file). I nomi dei file sono
output separato con un byte nullo invece della solita nuova riga. Questo è utile quando
trattare con nomi di file che contengono spazi bianchi, ad es

# rimuove tutti i file di tipo html
ack -f --html --print0 | xargs -0rm -f

-Q, --letterale
Cita tutti i metacaratteri in PATTERN, viene trattato come un letterale.

-r, -R, --ricorso
Ricorrere in sottodirectory. Questa è l'impostazione predefinita e solo qui per compatibilità con
grep. Puoi anche usarlo per girare --no-ricorrenza off.

-s Elimina i messaggi di errore relativi a file inesistenti o illeggibili. Questo è preso da
fgrep.

--[no]custodia intelligente, --no-astuccio
Ignora maiuscole/minuscole nelle stringhe di ricerca se PATTERN non contiene caratteri maiuscoli. Questo è
simile a "smartcase" in vim. Questa opzione è disattivata per impostazione predefinita e ignorata se "-i" è
specificato.

-i sovrascrive sempre questa opzione.

--sort-files
Ordina lessicograficamente i file trovati. Usa questo se vuoi che i tuoi elenchi di file lo facciano
essere deterministico tra le serie di ack.

--tipi-show
Emette i tipi di file che si associano a ciascun file.

Funziona con -f ed -g opzioni.

--type=[no]TIPO
Specificare i tipi di file da includere o escludere da una ricerca. TYPE è un tipo di file,
piace perl or xml. --tipo=perl può anche essere specificato come --perlae --tipo=Noperl può
essere fatto come --Noperl.

Se un file è di entrambi i tipi "foo" e "bar", specificando --foo e --nobar si escluderà
il file, perché un'esclusione ha la precedenza su un'inclusione.

Le specifiche del tipo possono essere ripetute e vengono messe in OR insieme.

See ack --help=tipi per un elenco di tipi validi.

--tipo-aggiungi TIPO:FILTRO:FILTRI
I file con il dato FILTERARGS applicato al dato FILTER sono riconosciuti come off
(l'esistente) tipo TYPE. Vedere anche "Definire i propri tipi".

--tipo-set TIPO:FILTRO:FILTRI
I file con il dato FILTERARGS applicato al dato FILTER sono riconosciuti come off
digitare TIPO. Sostituisce una definizione esistente per il tipo TYPE. Vedi anche "Definizione
i tuoi tipi".

--tipo-del TIPO
I filtri associati a TYPE vengono rimossi da Ack e non vengono più considerati
per le ricerche.

-v, --invertire la corrispondenza
Inverti corrispondenza: seleziona linee non corrispondenti

--versione
Visualizza la versione e le informazioni sul copyright.

-w, --word-espressione regolare
Forza PATTERN in modo che corrisponda solo a parole intere. Il PATTERN è racchiuso con "\b"
metacaratteri.

-x Abbreviazione di --file-da=-; l'elenco dei file da cercare viene letto dallo standard
input, con una riga per file.

-1 Si ferma dopo aver segnalato la prima corrispondenza di qualsiasi tipo. Questo è diverso da --conteggio-max=1
or -M1, dove viene mostrata solo una corrispondenza per file. Anche, -1 funziona con -f ed -g, Dove
-m non.

--thpppt
Mostra l'importantissimo logo Bill The Cat. Si noti che l'ortografia esatta di
--thppppt non è importante. Viene confrontato con un'espressione regolare.

--sbarra
Verificare con l'ammiraglio per le trappole.

--cathy
Cioccolato, Cioccolato, Cioccolato!

LA .acrc RISORSE


I .acrc il file contiene opzioni della riga di comando che sono anteposte alla riga di comando
prima della lavorazione. Più opzioni possono vivere su più righe. Righe che iniziano con un #
vengono ignorati. UN .acrc potrebbe assomigliare a questo:

# Ordina sempre i file
--sort-files

# Colora sempre, anche se reindirizzato a un altro programma
--colore

# Usa "less -r" come cercapersone
--pager=meno -r

Nota che gli argomenti con spazi non devono essere citati, in quanto non lo sono
interpretato dal guscio. Fondamentalmente, ciascuno linea nel .acrc il file viene interpretato come uno
elemento di @ARGV.

ack cerca in diverse posizioni per .acrc File; il processo di ricerca è dettagliato in
"SEMANTICA LOCALIZZAZIONE ACKRC". Questi file non vengono considerati se --noenv è specificato sul
riga di comando.

Definizione il tuo proprio Tipi di


ack consente di definire i propri tipi oltre ai tipi predefiniti. Questo è fatto
con le opzioni della riga di comando che sono meglio messe in an .acrc file - quindi non devi
definisci i tuoi tipi più e più volte. Negli esempi seguenti le opzioni saranno sempre
essere mostrati su una riga di comando in modo che possano essere facilmente copiati e incollati.

ack --perla foo cerca foo in tutti i file perl. ack --help=tipi ti dice che perl
i file sono file che terminano con .pl, .pm, .pod o .t. E se volessi includere .xs
file anche durante la ricerca di file --perl? ack --tipo-aggiungi perl:est:xs --perla foo effettua
questo per te. --tipo-aggiungi aggiunge estensioni aggiuntive a un tipo esistente.

Se vuoi definire un nuovo tipo o ridefinire completamente un tipo esistente, usa
--tipo-set. ack --tipo-set eiffel:ext:e,eiffel definisce il tipo eiffel per includere file
con le estensioni .e o .eiffel. Quindi, per cercare tutti i file eiffel contenenti la parola
Bertrand usa ack --tipo-set eiffel:ext:e,eiffel --Eiffel Bertrand. Come al solito, puoi anche
scrivere --tipo=eiffel invece di --Eiffel. Anche la negazione funziona, quindi --noeiffel esclude tutto
file eiffel da una ricerca. La ridefinizione funziona anche: ack --tipo-set cc:est:c,h ed .xs file
non appartengono più al tipo cc.

Quando si definiscono i propri tipi nel .acrc file devi usare quanto segue:

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

o scrivendo su righe separate

--tipo-set
eiffel:ext:e,eiffel

Quanto segue non NON lavorare in .acrc file:

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

Per vedere tutti i tipi attualmente definiti, utilizzare --tipi-di-aiuto, per esempio ack --tipo-set
backup:est:bak --tipo-aggiungi perl:est:perl --tipi-di-aiuto

Oltre al filtraggio in base all'estensione (come ack 1.x consentito), ack 2 offre
tipi di filtri aggiuntivi. La sintassi generica è --tipo-set TIPO:FILTRO:FILTERARGS;
FILTRI dipende dal valore di FILTRO.

è:NOME DEL FILE
is i filtri corrispondono esattamente al nome del file di destinazione. Ci vuole esattamente un argomento, che è
il nome del file da abbinare.

Esempio:

--type-set make:is:Makefile

esterno:ESTENSIONE[,ESTENSIONE2[,...]]
ext i filtri corrispondono all'estensione del file di destinazione rispetto a un elenco di estensioni. No
il punto iniziale è necessario per le estensioni.

Esempio:

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

gioco:MODELLO
stile i filtri confrontano il nome del file di destinazione con un'espressione regolare. Il regolare
l'espressione non fa distinzione tra maiuscole e minuscole per la ricerca.

Esempio:

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

corrispondenza in prima linea:MODELLO
partita in prima linea confronta la prima riga del file di destinazione con un'espressione regolare.
Come stile, l'espressione regolare non fa distinzione tra maiuscole e minuscole.

Esempio:

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

Altri tipi di filtri potrebbero essere resi disponibili in futuro.

AMBIENTE VARIABILI


Per le opzioni di ACK di uso comune, le variabili di ambiente possono semplificare la vita. Queste
le variabili vengono ignorate se --noenv è specificato nella riga di comando.

ACKRC
Specifica la posizione dell'utente .acrc file. Se questo file non esiste, ack
guarda nella posizione predefinita.

ACK_OPZIONI
Questa variabile specifica le opzioni predefinite da posizionare davanti a qualsiasi opzione esplicita
sulla riga di comando.

ACK_COLOR_NOMEFILE
Specifica il colore del nome del file quando è stampato in --gruppo modalità. Per impostazione predefinita,
è "verde audace".

Gli attributi riconosciuti sono chiaro, reset, scuro, grassetto, sottolineato, sottolineato, lampeggio,
inverso, nero nascosto, rosso, verde, giallo, blu, magenta, on_black, on_red,
su_verde, su_giallo, su_blu, su_magenta, su_ciano e su_bianco. Il caso non lo è
significativo. La sottolineatura e la sottolineatura sono equivalenti, così come chiare e reimpostate. Il
color da solo imposta il colore di primo piano e on_color imposta il colore di sfondo.

Questa opzione può essere impostata anche con --nome-file-colore.

ACK_COLOR_MATCH
Specifica il colore del testo corrispondente quando stampato in --colore modalità. Per impostazione predefinita,
è "nero su_giallo".

Questa opzione può essere impostata anche con --colore-corrispondenza.

See ACK_COLOR_NOMEFILE per le specifiche del colore.

ACK_COLOR_LINENO
Specifica il colore del numero di riga quando stampato in --colore modalità. Per impostazione predefinita, è
"giallo audace".

Questa opzione può essere impostata anche con --colore-lineno.

See ACK_COLOR_NOMEFILE per le specifiche del colore.

ACK_PAGER
Specifica un programma cercapersone, come "più", "meno" o "più", a cui invierà ack
la sua uscita.

L'uso di "ACK_PAGER" non sopprime il raggruppamento e la colorazione come l'output delle tubazioni sul
la riga di comando lo fa, tranne che su Windows ACK assumerà che "ACK_PAGER" non lo fa
colore di supporto.

"ACK_PAGER_COLOR" sovrascrive "ACK_PAGER" se vengono specificati entrambi.

ACK_PAGER_COLOR
Specifica un programma cercapersone che comprende le sequenze di colori ANSI. Usando
"ACK_PAGER_COLOR" non sopprime il raggruppamento e la colorazione come l'output delle tubazioni sul
la riga di comando lo fa.

Se non sei su Windows, non hai mai bisogno di usare "ACK_PAGER_COLOR".

DISPONIBILE COLORI


ack usa i colori disponibili nel modulo Term::ANSIColor di Perl, che fornisce il
seguenti valori elencati. Si noti che il caso non ha importanza quando si utilizzano questi valori.

primo piano Colori
nero rosso verde giallo blu magenta ciano bianco

brillante_nero brillante_rosso brillante_verde brillante_giallo
luminoso_blu luminoso_magenta luminoso_ciano luminoso_bianco

sfondo Colori
su_nero su_rosso su_verde su_giallo
su_blu su_magenta su_ciano su_bianco

su_bright_black su_bright_red su_bright_green su_bright_yellow
su_bright_blue su_bright_magenta su_bright_cyan su_bright_white

ACK & ALTRO STRUMENTI


Vim integrazione
ack si integra facilmente con l'editor di testo Vim. Imposta questo nel tuo .vimrc usare ack invece
of grep:

imposta grepprg=ack\ -k

Quell'esempio usa "-k" per cercare solo i file dei tipi che ack conosce, ma tu
può utilizzare altri flag predefiniti. Ora puoi cercare con ack e passare facilmente attraverso il
risultati in Vim:

:grep Dumper perllib

Miles Sterrett ha scritto un plugin per Vim per ack che ti permette di usare ":Ack" invece di
":grep", così come molte altre funzionalità avanzate.



Emacs integrazione
Phil Jackson ha messo insieme e ack.el estensione che "fornisce una semplice modalità di compilazione...
ha la capacità di indovinare quali file si desidera cercare in base alla modalità principale."

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

TextMate integrazione
Pedro Melo è un utente di TextMate che scrive "Passo la mia giornata principalmente all'interno di TextMate, e il
la ricerca integrata nel progetto fa schifo con progetti di grandi dimensioni. Quindi ho hackerato un comando TextMate che
stava usando find + grep per usare ack. Il risultato è la ricerca in Project con ack, e tu
lo puoi trovare qui:
<http://www.simplicidade.org/notes/archives/2008/03/search_in_proje.html>"

Conchiglia ed Reso Code
Per una maggiore compatibilità con grep, ack nell'uso normale restituisce il codice di ritorno o di uscita della shell
di 0 solo se viene trovato qualcosa e 1 se non viene trovata alcuna corrispondenza.

(Il codice di uscita Shell 1 è "$?=256" in perl con "sistema" o apici inversi.)

I grep il codice 2 per gli errori non viene utilizzato.

Se vengono specificati "-f" o "-g", viene restituito 0 se viene trovato almeno un file. se no
vengono trovati i file, quindi viene restituito 1.

DEBUG ACK PROBLEMI


Se ACK ti fornisce un output che non ti aspetti, inizia con pochi semplici passaggi.

Usa il --noenv
Le variabili di ambiente e .acrc potrebbe fare cose che non ti aspetti, o
dimenticato che hai specificato. Utilizzo --noenv ignorare il tuo ambiente e .acrc.

Usa il -f a vedere che cosa file avere stato selezionato
Ack's -f è stato originariamente aggiunto come strumento di debug. Se ACK non trova corrispondenze con te
penso che dovrebbe trovare, correre ack -f per vedere quali file sono stati selezionati. Puoi anche aggiungere
le opzioni "--show-types" per mostrare il tipo di ogni file selezionato.

Usa il --scarico
Questo elenca i file ackrc che sono caricati e le opzioni caricate da essi. Quindi per
esempio puoi trovare un elenco di directory che non vengono cercate o dove sono i tipi di file
definito.

CONSIGLI


Usa il , il .acrc file.
I .acrc è il posto dove mettere tutte le tue opzioni che usi la maggior parte del tempo ma non vuoi
ricordare. Metti tutte le tue definizioni --type-add e --type-set in esso. Se ti piace
--smart-case, mettilo anche lì. Ho anche impostato --sort-files lì.

Usa il -f per lavoro con big codici
Ack fa più che cercare file. "ack -f --perl" creerà un elenco di tutti i file Perl
in un albero, ideale per l'invio in xargs. Per esempio:

# Cambia tutto "questo" in "quello" in tutti i file Perl in un albero.
ack -f --perl | xargs perl -p -i -e's/this/that/g'

o se preferisci:

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

Usa il -Q quando in dubbio circa metacaratteri
Se stai cercando qualcosa con un metacarattere di espressione regolare, molto spesso a
punto in un nome file o indirizzo IP, aggiungi -Q per evitare falsi positivi senza tutti i
contraccolpo. Vedere l'esempio seguente per ulteriori informazioni...

Usa il ack a orologio ceppo file
Eccone uno che ho usato l'altro giorno per trovare i punti problematici per un visitatore del sito web. L'utente aveva
un problema di caricamento fastidioso.gif, quindi ho preso il registro di accesso e l'ho scansionato con ACK due volte.

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

Il primo ack trova solo le righe nel log di Apache per l'IP specificato. Il secondo trova
la corrispondenza sulla mia GIF fastidiosa e mostra le cinque righe precedenti del log in ciascuna
Astuccio.

Esempi of --produzione
Le seguenti variabili sono utili nella stringa di espansione:

$& L'intera stringa che corrisponde a PATTERN.

$ 1, $ 2, ...
I contenuti del 1°, 2° ... gruppo tra parentesi in PATTERN.

"$`"
La stringa prima della partita.

"$'"
La stringa dopo la partita.

Per maggiori dettagli e altre variabili vedere
<http://perldoc.perl.org/perlvar.html#Variables-related-to-regular-expressions|perlvar>.

Questo esempio mostra come aggiungere del testo attorno a un particolare motivo (in questo caso aggiungendo _
intorno alla parola con la "e")

ack2.pl "\w*e\w*" quick.txt --output="$`_$&_$'"
_La_ rapida volpe marrone salta sopra il cane pigro
La veloce volpe marrone salta _sopra_ il cane pigro
La veloce volpe marrone salta sopra _il_ cane pigro

Questo mostra come selezionare parti particolari di una partita usando ( ) all'interno di regular
espressione.

ack '=testa(\d+)\s+(.*)' --output=' $1 : $2'
il file di input contiene "=head1 NAME"
uscita "1 : NOME"

Condividi il tuo conoscenze
Iscriviti alla mailing list di ack-users. Inviami i tuoi suggerimenti e potrei aggiungerli qui.

FAQ


Perché non è ack ricerca a stile in (alcuni file)?
Probabilmente perché è di un tipo che ack non riconosce. il comportamento di ricerca di ack è
guidato dal tipo di file. If ack non sapere che cosa tipo of filetto it è, ack ignora , il file.

Usa l'opzione "-f" per vedere un elenco di file che ack cercherà per te. Puoi usare il
Interruttore "--show-types" per mostrare quale tipo di ACK pensa che sia ogni file.

non lo farei it be grande if ack ha fatto Ricerca & sostituire?
No, ack sarà sempre di sola lettura. Perl ha un ottimo modo per eseguire ricerca e sostituzione in
file, utilizzando gli switch "-i", "-p" e "-n".

Puoi certamente usare ack per selezionare i tuoi file da aggiornare. Ad esempio, per cambiare tutto
"foo" a "bar" in tutti i file PHP, puoi farlo dalla shell Unix:

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

Può I make ack riconoscere xyz file?
Sì! Si prega di vedere "Definire i propri tipi". Se pensi che ack dovrebbe riconoscere un tipo
per impostazione predefinita, vedere "MIGLIORAMENTI".

C'è già a programma/pacchetto detto ACK.
Si, lo so.

Perché is it detto ack if suo detto ack grep?
Il nome del programma è "ack". Alcuni pacchettizzatori l'hanno chiamato "ack-grep" durante la creazione
pacchetti perché c'è già un pacchetto là fuori chiamato "ack" che non ha nulla a che fare
con questo avv.

Ti suggerisco di creare un collegamento simbolico denominato ack che punta a ack-grep perché uno dei cruciali
i vantaggi di ack sono avere un nome così breve e semplice da digitare.

Per farlo, esegui questo con sudo o come radice:

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

In alternativa, puoi usare un alias di shell:

#bash/zsh
alias ack=ack-grep

#csh
alias ack ack-grep

Che effettua ack significa?
Niente. Volevo un nome che fosse facile da digitare e che si potesse pronunciare come un singolo
sillaba.

Può I do multilinea regex?
No, ack non supporta le espressioni regolari che corrispondono a più righe. Ciò richiederebbe
leggendo l'intero file alla volta.

Se vuoi vedere le linee vicino alla tua partita, usa gli interruttori "--A", "--B" e "--C" per
contesto di visualizzazione.

Perché is ack raccontare me I avere an invalido opzione quando ricerca per "+pippo"?
ack tratta le opzioni della riga di comando che iniziano con "+" o "-" come opzioni; se tu volessi
cercali, puoi anteporre al termine di ricerca "--" o utilizzare l'opzione "--match".
(Tuttavia, non dimenticare che "+" è un metacarattere di un'espressione regolare!)

Perché effettua "Ack '.{40000,}'" fallire? non è che a un valido regolare?
Il linguaggio Perl limita il quantificatore di ripetizione a 32K. Puoi cercare ".{32767}"
ma non ".{32768}".

ACKRC LOCATION SEMANTICA


Ack può caricare la sua configurazione da molte fonti. Questo elenco specifica le fonti Ack
cerca la configurazione; ognuno trovato viene caricato nell'ordine qui specificato, e
ognuno sovrascrive le opzioni impostate in una qualsiasi delle fonti che lo precedono. (Ad esempio, se imposto
--sort-files nel mio utente ackrc e --nosort-files sulla riga di comando, la riga di comando
ha la precedenza)

· I valori predefiniti vengono caricati da App::Ack::ConfigDefaults. Questo può essere omesso usando
"--ignore-ack-defaults".

· Riconoscimento globale

Le opzioni vengono quindi caricate dal file ackrc globale. Si trova in "/etc/ackrc" su
Sistemi simili a Unix.

Sotto Windows XP e versioni precedenti, ackrc si trova in "C:\Documents and Settings\All
Utenti\Dati applicazioni\ackrc".

Sotto Windows Vista/7, l'ackrc globale si trova in "C:\ProgramData"

L'opzione "--noenv" impedisce il caricamento di tutti i file ackrc.

· Riconoscimento utente

Le opzioni vengono quindi caricate dal file ackrc dell'utente. Questo si trova in "$HOME/.ackrc" su
Sistemi simili a Unix.

Sotto Windows XP e versioni precedenti, ackrc dell'utente si trova in "C:\Documents and
Settings\$USER\Application Data\ackrc".

Sotto Windows Vista/7, ackrc dell'utente è a .

Se vuoi caricare un diverso ackrc a livello utente, può essere specificato con $ACKRC
variabile d'ambiente.

L'opzione "--noenv" impedisce il caricamento di tutti i file ackrc.

· Progetto ackrc

Le opzioni vengono quindi caricate dal progetto ackrc. Il progetto ackrc è il primo ackrc
file con il nome ".ackrc" o "_ackrc", cercando prima nella directory corrente,
quindi la directory padre, quindi la directory nonna, ecc. Questo può essere omesso
usando "--noenv".

· --acrc

L'opzione "--ackrc" può essere inclusa nella riga di comando per specificare un file ackrc che
può prevalere su tutti gli altri. Viene consultato anche se è presente "--noenv".

· ACK_OPZIONI

Le opzioni vengono quindi caricate dalla variabile d'ambiente "ACK_OPTIONS". Questo può essere
omesso usando "--noenv".

· Riga di comando

Le opzioni vengono quindi caricate dalla riga di comando.

DIFFERENZE TRA ACK 1.X E ACK 2.X


Sono state apportate molte modifiche per l'ACK 2; ecco un elenco di loro.

GENERALE MODIFICHE
· Quando non vengono specificati selettori, ack 1.x cerca solo tra i file che può mappare
a un tipo di file. ack 2.x, al contrario, cercherà attraverso ogni normale, non binario
file che non viene esplicitamente ignorato tramite --ignora-file or --ignore-dir. Questo è
simile al comportamento del -a/--tutto opzione in ACK 1.x.

· È stato aggiunto un sistema di filtri più flessibile, in modo che i tipi di file più potenti possano essere
creato dall'utente. Per i dettagli, consultare "Definire i propri tipi".

· ack ora carica più file ackrc; vedere "SEMANTICA DELLA POSIZIONE ACKRC" per i dettagli.

· le definizioni di filtro predefinite di ack non sono speciali; puoi dire ad ACK completamente
ignorali se non ti piacciono.

RIMOSSO VERSIONI
· A causa del cambiamento nel comportamento di ricerca predefinito, il -a/--tutto ed -u/--senza restrizioni
le opzioni sono state rimosse. Inoltre, il -k/--tipi-noti l'opzione è stata aggiunta a
far sì che ack si comporti con il comportamento di ricerca predefinito di ack 1.x.

· Il -G l'opzione è stata rimossa. Due espressioni regolari sulla riga di comando erano
considerato troppo confuso; simulare -G's, puoi usare il nuovo -x
opzione per reindirizzare i nomi dei file da una chiamata di ACK a un'altra.

· Il --binario l'opzione è stata rimossa.

· Il --saltato l'opzione è stata rimossa.

· Il --testo l'opzione è stata rimossa.

· Il --invertire-file-match l'opzione è stata rimossa. Invece, puoi usare -v con -g.

CAMBIATO VERSIONI
· Le opzioni che modificano il comportamento dell'espressione regolare (-i, -w, -Qe -v) può ora
essere utilizzato con -g.

AGGIUNTO VERSIONI
· --file-da è stato aggiunto in modo che un utente possa inviare un elenco di nomi di file come un elenco di
file da cercare.

· -x è stato aggiunto per dire ad ack di accettare un elenco di nomi di file tramite l'input standard; questa lista
è l'elenco dei nomi di file che verranno utilizzati per la ricerca.

· -s è stato aggiunto per dire ad ACK di sopprimere i messaggi di errore su inesistenti o illeggibili
File.

· --ignora-directory ed --noignore-directory sono stati aggiunti come alias per --ignore-dir ed
--noignore-dir rispettivamente.

· --ignora-file è stato aggiunto in modo che gli utenti possano specificare modelli di file da ignorare (es.
/.*~$/).

· --scarico è stato aggiunto per consentire agli utenti di scoprire facilmente quali opzioni sono impostate e dove.

· --crea-acrc è stato aggiunto in modo che gli utenti possano creare file ackrc personalizzati basati su
impostazioni predefinite caricate da ack e in modo che gli utenti possano facilmente visualizzare tali impostazioni predefinite.

· --tipo-del è stato aggiunto per rimuovere selettivamente le definizioni dei tipi di file.

· --ignore-ack-default è stato aggiunto in modo che gli utenti possano ignorare le opzioni predefinite di ACK in
favore del proprio.

· --sbarra è stato aggiunto in modo che gli utenti di ack possano consultare l'ammiraglio Ackbar.

Usa ack-grepp online usando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    pulizia a fondo
    pulizia a fondo
    Uno script di Kotlin che distrugge tutte le build
    cache da progetti Gradle/Android.
    Utile quando Gradle o l'IDE te lo permettono
    giù. Lo script è stato testato
    macOS, ma...
    Scarica pulizia profonda
  • 2
    Plug-in Eclipse Checkstyle
    Plug-in Eclipse Checkstyle
    Il plug-in Eclipse Checkstyle
    integra il codice Java di Checkstyle
    auditor nell'IDE Eclipse. Il
    plug-in fornisce feedback in tempo reale a
    l'utente sulla viola...
    Scarica il plug-in Eclipse Checkstyle
  • 3
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player è un lettore multimediale gratuito
    software, in parte basato su WMP e VLC. Il
    giocatore è in uno stile minimalista, con
    più di dieci colori a tema, e può anche
    b ...
    Scarica AstrOrzPlayer
  • 4
    movistartv
    movistartv
    Kodi Movistar+ TV è un ADDON per XBMC/
    Kodi che permette di disporre di un
    decodificatore dei servizi IPTV de
    Movistar integrato in uno de los
    mediacenter ma...
    Scarica movistartv
  • 5
    Code :: Blocks
    Code :: Blocks
    Code::Blocks è un software gratuito, open-source,
    IDE multipiattaforma C, C++ e Fortran
    costruito per soddisfare le esigenze più esigenti
    dei suoi utenti. È progettato per essere molto
    estende...
    Scarica Codice::Blocchi
  • 6
    in mezzo a
    in mezzo a
    Tra o interfaccia avanzata di Minecraft
    e il monitoraggio dati/struttura è uno strumento per
    mostra una panoramica di un Minecraft
    mondo, senza crearlo. Esso
    Potere ...
    Scarica In mezzo
  • Di Più "

Comandi Linux

Ad