agrep - Online nel Cloud

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

PROGRAMMA:

NOME


agrep - cerca in un file una stringa o un'espressione regolare, con corrispondenza approssimativa
funzionalità

SINOSSI


d'accordo [ -#cdehiklnpstvwxBDGIS ] modello [ -F file di modello ] [ Nome del file...]

DESCRIZIONE


d'accordo cerca l'input i nomi dei file (l'input standard è l'impostazione predefinita, ma vedere un avviso sotto
LIMITAZIONI) per i record contenenti stringhe che o di preciso or circa partita a
modello. Un record è per impostazione predefinita una riga, ma può essere definito in modo diverso utilizzando -d
opzione (vedi sotto). Normalmente, ogni record trovato viene copiato nello standard output.
La corrispondenza approssimativa consente di trovare record che contengono il modello con diversi errori
comprese sostituzioni, inserimenti e cancellazioni. Ad esempio, le partite di Masschusets
Massachusetts con due errori (una sostituzione e un inserimento). In esecuzione d'accordo -2
Massechusets foo emette tutte le righe in foo contenenti qualsiasi stringa con al massimo 2 errori da
Massechuset.

d'accordo supporta molti tipi di query inclusi caratteri jolly arbitrari, set di modelli e
in generale, espressioni regolari. Vedere i MODELLI di seguito. Supporta la maggior parte delle opzioni
supportato dal grep family e molti altri (ma non è compatibile al 100% con grep).
Per maggiori informazioni sugli algoritmi utilizzati da agrep vedere Wu e Manber, "Fast Text
Ricerca con errori", relazione tecnica n. 91-11, Dipartimento di informatica,
Università dell'Arizona, giugno 1991 (disponibile tramite FTP anonimo da cs.arizona.edu in
agrep/agrep.ps.1), e Wu e Manber, "Agrep -- Una ricerca veloce e approssimativa
Tool", Apparirà alla USENIX Conference 1992 gennaio (disponibile tramite ftp anonimo da
cs.arizona.edu in agrep/agrep.ps.2).

Come con il resto del grep famiglia, i personaggi `$', `^', `*', `[', `]', `^', `|',
`(', `)', `!', e `'può causare risultati imprevisti se incluso nel modello, come questi
i caratteri sono significativi anche per la shell. Per evitare questi problemi, si dovrebbe sempre
racchiudere l'intero argomento del pattern tra virgolette singole, ad esempio 'pattern'. Non usare il doppio
citazioni (").

Quando d'accordo viene applicato a più di un file di input, viene visualizzato il nome del file
che precede ogni riga che corrisponde al modello. Il nome del file non viene visualizzato quando
elaborare un singolo file, quindi se vuoi effettivamente che appaia il nome del file, usa / Dev / null as
un secondo file nell'elenco.

VERSIONI


-# # è un numero intero non negativo (al massimo 8) che specifica il numero massimo di errori
consentito nel trovare le corrispondenze approssimative (impostazione predefinita a zero). In genere, ciascuno
l'inserimento, l'eliminazione o la sostituzione contano come un errore. È possibile regolare
il relativo costo di inserimenti, cancellazioni e sostituzioni (vedi -I -D e -S
opzioni).

-c Visualizza solo il conteggio dei record corrispondenti.

-d 'delim'
Define delim essere il separatore tra due record. Il valore predefinito è '$',
vale a dire un record è per impostazione predefinita una riga. delim può essere una stringa di dimensioni al massimo 8
(con possibile uso di ^ e $), ma non un'espressione regolare. Testo tra due
delim's, prima del primo delim, e dopo l'ultimo delim è considerato come uno
disco. Ad esempio, -d '$$' definisce i paragrafi come record e -d '^Da ' definisce
messaggi di posta come record. d'accordo corrisponde a ciascun record separatamente. Questa opzione non
attualmente non funziona con le espressioni regolari.

-e modello
Come un semplice modello argomento, ma utile quando il modello inizia con un `-'.

-f file di modello
file di modello contiene un insieme di (semplici) modelli. L'output è tutte le righe che
abbinare almeno uno dei modelli in file di modello. Attualmente, l'opzione -f funziona
solo per la corrispondenza esatta e per modelli semplici (qualsiasi meta simbolo viene interpretato come a
carattere regolare); è compatibile solo con -c, -h, -i, -l, -s, -v, -w e -x
opzioni. vedere LIMITAZIONI per i limiti delle dimensioni.

-h Non visualizzare i nomi dei file.

-i Ricerca senza distinzione tra maiuscole e minuscole — ad esempio, "A" e "a" sono considerati equivalenti.

-k Nessun simbolo nel modello viene trattato come metacarattere. Ad esempio, agrep -k
'a(b|c)*d' foo troverà le occorrenze di a(b|c)*d in foo mentre agrep
'a(b|c)*d' foo troverà le sottostringhe in foo che corrispondono all'espressione regolare
'a(b|c)*d'.

-l Elenca solo i file che contengono una corrispondenza. Questa opzione è utile per cercare
file contenenti un determinato modello. Ad esempio, " agrep -l 'meraviglioso' * " sarà
elenca i nomi di quei file nella directory corrente che contengono la parola
'meraviglioso'.

-n Ogni riga stampata è preceduta dal numero di record nel file.

-p Trova i record nel testo che contengono una supersequenza del modello. Per esempio,
d'accordo -p DCS foo andrete a stile "Dipartimento of computer Scienza."

-s Lavora in silenzio, ovvero non visualizza nulla tranne i messaggi di errore. Questo è utile per
verifica dello stato di errore.

-t Emetti il ​​record a partire dalla fine di delim a (e compreso) il prossimo delimitare.
Questo è utile nei casi in cui delim dovrebbe arrivare alla fine del record.

-v Modalità inversa: visualizza solo i record che do non è un contenere il modello.

-w Cerca il modello come una parola, ad esempio circondato da caratteri non alfanumerici.
Il non alfanumerico devono obbligatoriamente: circondare la partita; non possono essere contati come errori.
Per esempio, d'accordo -w -1 auto corrisponderà alle auto, ma non ai caratteri.

-x Il motivo deve corrispondere all'intera linea.

-y Usato con l'opzione -B. Quando -y è attivo, agrep restituirà sempre le migliori corrispondenze
senza dare un sollecito.

-B Modalità migliore partita. Quando viene specificato -B e non vengono trovate corrispondenze esatte, agrep lo farà
continuare a cercare fino alle corrispondenze più vicine (cioè quelle con il numero minimo di
errori) vengono rilevati, a quel punto verrà visualizzato il seguente messaggio: "il migliore
la corrispondenza contiene x errori, ci sono y corrispondenze, emetterli? (s/n)" La migliore partita
la modalità non è supportata per l'input standard, ad esempio l'input della pipeline. Quando -#, -c,
o le opzioni -l sono specificate, l'opzione -B viene ignorata. In generale, -B può essere
più lento di -#, ma non di molto.

-Dk Imposta il costo di una cancellazione su k (k è un numero intero positivo). Questa opzione no
attualmente funzionano con le espressioni regolari.

-G Emetti i file che contengono una corrispondenza.

-Ik Imposta il costo di un inserimento su k (k è un numero intero positivo). Questa opzione no
attualmente funzionano con le espressioni regolari.

-Sk Imposta il costo di una sostituzione su k (k è un numero intero positivo). Questa opzione non
attualmente non funziona con le espressioni regolari.

MODELLI


d'accordo supporta una grande varietà di modelli, incluse stringhe semplici, stringhe con classi
di caratteri, set di stringhe, caratteri jolly ed espressioni regolari.

String
qualsiasi sequenza di caratteri, inclusi i simboli speciali `^' per l'inizio della riga
e `$' per la fine della riga. I caratteri speciali sopra elencati ( `$', `^', `*', `[',
`^', `|', `(', `)', `!', e `' ) dovrebbe essere preceduto da `\' se devono essere
abbinati come caratteri normali. Ad esempio, \^abc\\ corrisponde alla stringa
^abc\, mentre ^abc corrisponde alla stringa abc all'inizio di una riga.

Classi of caratteri
un elenco di caratteri all'interno di [] (in ordine) corrisponde a qualsiasi carattere dal
elenco. Ad esempio, [a-ho-z] è qualsiasi carattere compreso tra a e h o tra o e z.
Il simbolo `^' all'interno di [] completa l'elenco. Ad esempio, [^in] denota qualsiasi
carattere nel set di caratteri eccetto il carattere da 'i' a 'n'. Il simbolo `^' quindi
ha due significati, ma questo è coerente con egrep. Il simbolo `.' (non importa)
sta per qualsiasi simbolo (tranne il simbolo di nuova riga).

Booleano operazioni
d'accordo supporta un'operazione `e' `;' e un'operazione `o' `,', ma non a
combinazione di entrambi. Ad esempio, "veloce;rete" cerca tutti i record
contenente entrambe le parole.

Selvaggio carte
Il simbolo '#' viene utilizzato per indicare un carattere jolly. # corrisponde a zero oa qualsiasi numero di
caratteri arbitrari. Ad esempio, ex#e corrisponde a example. Il simbolo # è
equivalente a .* in egrep. In effetti, anche .* funzionerà, perché è un valido
espressione regolare (vedi sotto), ma a meno che questa non faccia parte di una regolare effettiva
espressione, # funzionerà più velocemente.

pelle mista of esattamente e approssimativo corrispondenza
qualsiasi motivo tra parentesi angolari <> deve corrispondere esattamente al testo anche se la corrispondenza
è con errori. Per esempio, ics corrisponde a matematica con un errore
(sostituendo l'ultima s con una a), ma mathe non corrisponde a no matematico
importa quanti errori permettiamo.

Regular espressioni
La sintassi delle espressioni regolari in d'accordo è in generale uguale a quello per
egrep. L'operazione di unione `|', la chiusura di Kleene `*' e le parentesi () sono tutte
supportato. Attualmente "+" non è supportato. Le espressioni regolari sono attualmente
limitato a circa 30 caratteri (generalmente esclusi i metacaratteri). Alcuni
le opzioni (-d, -w, -f, -t, -x, -D, -I, -S) non funzionano attualmente con i normali
espressioni. Il numero massimo di errori per le espressioni regolari che utilizzano '*' o
'|' è 4.

ESEMPI


agrep -2 -c ABCDEFG pippo
fornisce il numero di righe nel file foo che contengono ABCDEFG entro due errori.

agrep -1 -D2 -S2 'ABCD#YZ' pippo
emette le righe contenenti ABCD seguite, entro una distanza arbitraria, da YZ, con
fino a un inserimento aggiuntivo (-D2 e -S2 effettuano anche cancellazioni e sostituzioni
"caro").

agrep -5 -p abcdefghij /percorso/del/dizionario/parole
emette l'elenco di tutte le parole che contengono almeno 5 delle prime 10 lettere del
alfabeto in minimo. (Prova: qualsiasi elenco che inizia con il mondo accademico e finisce con
sacrilego deve significare qualcosa!)

agrep -1 'abc[0-9](de|fg)*[xz]' foo
restituisce le righe contenenti, entro un errore, la stringa che inizia con
abc seguito da una cifra, seguito da zero o più ripetizioni di de o fg,
seguito da x, y o z.

agrep -d '^Da ' 'guasto;internet' mbox
emette tutti i messaggi di posta (il modello '^Da ' separa i messaggi di posta in un messaggio di posta
file) che contengono le parole chiave 'breakdown' e 'internet'.

agrep -d '$$' -1 ' "pippo"
trova tutti i paragrafi che contengono parola1 seguita da parola2 con un errore in atto
del vuoto. In particolare, se parola1 è l'ultima parola in una riga e parola2 è la
prima parola nella riga successiva, quindi lo spazio verrà sostituito da un simbolo di nuova riga
e corrisponderà. Quindi, questo è un modo per superare la separazione con una nuova riga. Nota
che -d '$$' (o un altro delim che si estende su più di una riga) è necessario,
perché altrimenti agrep cerca solo una riga alla volta.

agrep '^agrep'
restituisce tutti gli esempi dell'uso di agrep in queste pagine man.

Usa agrep online utilizzando i servizi onworks.net



Gli ultimi programmi online per Linux e Windows