Cerca stringhe o modelli all'interno di testo normale dal terminale

sulla ricerca di stringhe o pattern

Nel seguente articolo ne vedremo alcuni strumenti della riga di comando utilizzati per trovare stringhe o modelli corrispondenti all'interno di file di testo. Questi strumenti sono generalmente usati insieme alle espressioni regolari, abbreviate come REGEX, che sono stringhe univoche per descrivere un modello di ricerca.

Le espressioni regolari sono modelli utilizzati per trovare una certa combinazione di caratteri all'interno di una stringa di testo. Le espressioni regolari forniscono un modo molto flessibile per cercare o riconoscere stringhe di testo. Sebbene nelle righe seguenti non vedremo espressioni regolari, useremo modelli o stringhe.

Cerca stringhe o pattern dal terminale

comando Grep

Grep è l'acronimo di Stampa di espressioni regolari globali. Questo è un potente strumento da riga di comando utile quando si cerca una stringa o un modello specifico in un file. con grep potremo utilizzare una vasta gamma di funzioni, come quelle che un collega ci ha spiegato tempo fa in questo blog.

La sintassi per l'utilizzo del comando grep è piuttosto semplice:

grep PATRON [RUTA AL ARCHIVO]

Ad esempio, per cercare la stringa 'Ubuntu'in un file che in questo esempio chiameremo text.txt, senza tenere conto della distinzione tra maiuscolo e minuscolo, in un terminale (Ctrl + Alt + T) dovremo solo eseguire il comando:

grep -i testo

grep -i Ubuntu texto.txt

comando sed

La sete è l'abbreviazione di Editor di flusso. È un altro strumento utile per il terminale con il quale possiamo manipolare il testo in un file. Sed cerca, filtra e sostituisce le stringhe in un dato file.

Il comando sed per impostazione predefinita stampa l'output in formato STDOUT (Uscita standard). Ciò implica che il risultato dell'esecuzione viene stampato sul terminale invece di essere salvato in un file.

Il comando Sed può essere utilizzato come segue:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

Ad esempio, per sostituire tutte le occorrenze di "Linux"in un testo di"Gnu Linux', il comando da usare sarebbe il seguente:

comando sed

sed 's/Linux/GnuLinux/g' texto.txt

Se quello che stiamo cercando è reindirizza l'output su un file invece di stamparlo sul terminale, useremo il segno di reindirizzamento come segue:

sed 's/Linux/GnuLinux/g' texto.txt > salida.txt

L'output del comando viene salvato nel file output.txt invece di essere stampato sullo schermo.

output del comando sed

Per vedere più opzioni, puoi consultare le pagine man:

uomo assetato

man sed

ack

Ack è un veloce strumento a riga di comando scritto in Perl. È considerato un sostituto amichevole per l'utilità grep, che genera anche risultati in modo visivamente accattivante.

a installa ack nel nostro sistema dovremo eseguire nel terminale (Ctrl + Alt + T):

installa ack

sudo apt install ack

Il comando Ack cerca nel file o nella directory le righe che contengono la corrispondenza per i criteri di ricerca. Quindi evidenzia la stringa corrispondente. Questo strumento ha la capacità di distinguere i file in base alle loro estensioni.

La sintassi del comando Ack sarebbe simile alla seguente

ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Ad esempio, per cercare il termine Linux in un file, dovremmo eseguire:

comando ack search

ack Linux texto.txt

Lo strumento di ricerca è piuttosto intelligente e se l'utente non fornisce alcun file o directory, cerca il modello di ricerca nella directory e nelle sottodirectory correnti.

Nell'esempio seguente non viene fornito alcun file o directory. Ack rileva automaticamente il file disponibile nella directory e cerca il modello corrispondente:

ack ricerca senza file

ack Linux

ripgrep

ripgrep è un'utilità multipiattaforma per la ricerca di modelli di espressioni regolari. È più veloce di tutti gli strumenti di ricerca sopra menzionati e cerca nelle directory in modo ricorsivo i modelli di corrispondenza. Consente inoltre di cercare tipi di file specifici. Per impostazione predefinita, ripgrep salterà binari e file / directory nascosti.

a installa ripgrep sul sistema, tutto ciò che devi fare è eseguire il seguente comando nel terminale (Ctrl + Alt + T):

installazione di ripgrep

sudo apt install ripgrep

La sintassi per l'utilizzo di ripgrep è piuttosto semplice:

rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Se volessimo cercare la catena 'Linux'nei file che si trovano all'interno della directory corrente, dovremo solo eseguire il comando:

manrg linux

rg Linux

Per vedere più opzioni, gli utenti possono utilizzare pagine man:

uomo rg

man rg

Cercatore d'argento

a installa questo strumentoIn Ubuntu dovremo solo aprire un terminale (Ctrl + Alt + T) e scrivere il comando:

installazione di silversearcher-ag

sudo apt install silversearcher-ag

Silver Searcher è uno strumento di ricerca open source multipiattaforma simile ad ack ma con un'enfasi sulla velocità. Rende facile trovare una stringa specifica all'interno dei file nel più breve tempo possibile. La sintassi da utilizzare sarebbe:

ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo

Ad esempio, per cercare "Linux'nel file text.txt, dovremmo scrivere nel terminale (Ctrl + Alt + T):

cerca con silversearcher

ag Linux texto.txt

Per vedere più opzioni possiamo consultare il pagine man:

uomo cercatore d'argento

man ag

Questi sono solo alcuni degli strumenti da riga di comando più comunemente usati per cercare, filtrare e manipolare il testo in Linux.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.