In Linux, lavoriamo costantemente con file di stringa e testo; Se lavorare con file di registro o documenti, la manipolazione del testo è un processo che non possiamo sfuggire.
Questa guida ti mostrerà come individuare l'ultima occorrenza di una stringa in un file in Linux. Linux ha molti strumenti che possono aiutare a svolgere attività. Tuttavia, per semplicità, ci atterremo agli strumenti prontamente disponibili in tutte le principali distribuzioni Linux.
Metodo 1: usando grep
La stampa globale di espressione regolare, noto come grep, è uno strumento di manipolazione del testo popolare e potente.
Funziona accettando l'input dall'input standard o un file e cerca un modello specificato. Una volta che Grep trova il pattern specificato, stampa il risultato all'uscita standard. Il modello specificato può essere una singola stringa o un regex complesso.
Supponiamo di avere l'auth del file.log (/var/log/auth.tronco d'albero). Per trovare l'ultima occorrenza di una stringa (uid = 0), possiamo usare il comando:
$ sudo grep “uid = 0” autentica.registro | Tail -1
L'output sarà come mostrato di seguito:
Il comando è relativamente semplice. Iniziamo trovando la stringa di cui abbiamo bisogno di usare Grep. Successivamente, Grep elencherà tutte le occorrenze della stringa e, infine, dariamo l'uscita sulla coda e localizziamo l'ultima riga dell'uscita.
È possibile modificare il comando sopra per ottenere gli ultimi cinque eventi della stringa come:
$ sudo grep “uid = 0” autentica.registro | coda -5
Metodo 2: Awk
Awk è un altro linguaggio popolare di manipolazione delle stringhe. Awk è molto potente in quanto offre caratteristiche incredibili rispetto ad altri programmi di manipolazione del testo.
Per trovare una stringa simile a quella sopra, possiamo usare un comando come:
$ sudo awk '/uid = 0/flag = 1; bandiera '| Tail -1
Allo stesso modo, questo mostrerà l'ultima occorrenza della stringa come:
Conclusione
Questo è tutto per questo. In questo rapido tutorial, abbiamo discusso di due metodi principali per trovare l'ultima occorrenza di una stringa usando Grep e AWK.