Questa guida prende un tour di alcuni dei migliori strumenti da riga di comando che vengono utilizzati per la ricerca di stringhe o i modelli in file di testo. Questi strumenti sono di solito usati insieme di espressioni regolari – accorciato REGEX – uniche stringhe per descrivere un modello di ricerca.

Senza ulteriori indugi molto, cerchiamo di immersione.

1. Comando Grep

Provenienti in primo luogo, il grep strumento di utilità – è un acronimo che sta per Global Espressione Regolare Di Stampaè un potente strumento a riga di comando che è utile durante la ricerca di una stringa o di un modello in un file.

Grep navi con le moderne distribuzioni Linux di default e ti dà la flessibilità necessaria per restituire vari risultati di ricerca. Con grep, è possibile eseguire una vasta gamma di funzionamento quali:

  • Ricerca di stringhe o modelli di corrispondenza in un file.
  • Ricerca di stringhe o modelli corrispondenti nel file compresso con Gzip.
  • Contare il numero di stringa corrisponde.
  • Stampa i numeri di riga che contiene la stringa o un modello.
  • Ricerca ricorsivamente per la stringa di directory.
  • Eseguire una ricerca inversa ( cioè di Visualizzare i risultati delle stringhe non corrispondenti ai criteri di ricerca).
  • Ignora maiuscole e minuscole durante la ricerca di stringhe.

La sintassi per l’utilizzo della grep il comando è molto semplice:

$ grep pattern FILE

 

Per esempio, per cercare la stringa ‘Linux‘ in un file, dicono, hello.txt ignorando maiuscole e minuscole, eseguire il comando:

$ grep -i Linux hello.txt
Ricerca Per Stringa in un File
Ricerca Per Stringa in un File

Per avere più opzioni che è possibile utilizzare con grepbasta leggere il nostro articolo che esempi più avanzati di comando grep esempi.

2. sed Comando

Sed – breve per Stream Editor – è un altro utile strumento da riga di comando per la manipolazione di testo in un file di testo. Sed ricerche, filtri e sostituisce le stringhe in un file dato in un modo non interattivo.

Per impostazione predefinita, sed comando stampa l’output di STDOUT (Standard), il che implica che il risultato dell’esecuzione è stampato sul terminale, invece di essere salvati in un file.

Sed comando viene invocato come segue:

$ sed -OPTIONS command [ file to be edited ]

Per esempio, per sostituire tutte le istanze diUnix‘ con ‘Linux‘, richiamare il comando:

$ sed 's/Unix/Linux' hello.txt
Sostituire una Stringa in un File
Sostituire una Stringa in un File

Se si desidera reindirizzare l’output invece di stampare sul terminale, utilizzare il reindirizzamento segno ( > ) come mostrato in figura.

$ sed 's/Unix/Linux' hello.txt > output.txt
Reindirizzare l'Output di File
Reindirizzare l’Output di File

L’output del comando viene salvato il output.txt file invece di essere stampato sullo schermo.

Controllare di più opzioni che possono essere utilizzati, ancora una volta, controllare le pagine man.

$ man sed

3. Il Comando Di Ack

Ack è un veloce e portatile strumento della riga di comando scritto in Perl. Ack è considerato un amichevole di ricambio per grep utilità e uscite di risultati visivamente attraente.

Ack comando cerca il file o la directory per le righe che contengono la partita per i criteri di ricerca. Sottolinea poi la stringa corrispondente nelle linee.
Ack ha la capacità di distinguere i file in base all’estensione del file, e in una certa misura, il contenuto del file.

Ack sintassi del comando:

$ ack [options] PATTERN [FILE...]
$ ack -f [options] [DIRECTORY...]

Per esempio, per controllare il termine di ricerca Linuxeseguire:

$ ack Linux hello.txt
Controllare una Stringa in un File
Controllare una Stringa in un File

Lo strumento di ricerca è molto intelligente e Se nessun file o directory è fornito dall’utente, cerca la corrente di directory e sottodirectory per il modello di ricerca.

Nell’esempio riportato di seguito, non c’è nessun file o directory è stato fornito, ma ack ha rilevato automaticamente il file e ricercare per il corrispondente modello fornito.

$ ack Linux
Stringa di ricerca in una Directory
Stringa di ricerca in una Directory

Per installare ack nel sistema, eseguire il comando:

$ sudo apt install ack-grep    [On Debian/Ubuntu]
$ sudo dnf install ack-grep    [On CentOS/RHEL]

4. Comando Awk

Awk è un vero e proprio linguaggio di scripting e anche di elaborazione di testi, dati e strumento di manipolazione. Ricerca di file o programmi che contengono il pattern di ricerca. Quando la stringa o il motivo è trovato, awk interviene la partita o di linea e stampa i risultati STDOUT.

Il AWK modello è racchiuso tra parentesi graffe, mentre l’intero programma è racchiuso tra virgolette singole.

Prendiamo l’esempio più semplice. Supponiamo che tu sei la stampa la data di sistema, come mostrato:

$ date
Controllare La Data Di Sistema Linux
Controllare La Data Di Sistema Linux

Si supponga che si desidera stampare solo il primo valore, che è il giorno della settimana. In questo caso, il tubo di uscita in awk come mostrato:

$ date | awk '{print $1}'

Per visualizzare i valori successivi, separarli con una virgola, come mostrato:

$ date | awk '{print $1,$2}'

Il comando di cui sopra verrà visualizzato il giorno della settimana e la data del mese.

Comando Awk Esempi
Comando Awk Esempi

Per avere più opzioni che è possibile utilizzare con awkbasta leggere il nostro comando awk serie.

5. Argento Ricercatore

L’argento searcher è un cross-piattaforma opensource e la ricerca per codice di strumento simile a quello di ack ma con l’accento sulla velocità. Lo rende facile per voi per la ricerca di una stringa all’interno di file nel minor tempo possibile:

Sintassi:

$ ag OPTIONS search_pattern /path/to/file

Per esempio, per cercare la stringa ‘Linux‘ in un file hello.txt richiamare il comando:

$ ag Linux hello.txt
Trovare la Stringa nel File
Trovare la Stringa nel File

Per ulteriori opzioni, visita le pagine man:

$ man ag

Questi sono alcuni dei più utilizzati strumenti della riga di comando per la ricerca, il filtraggio e la manipolazione del testo in Linux. Se si dispone di altri strumenti ritenete che abbiamo lasciato fuori, fateci sapere nella sezione commenti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *