TIl comando grep è lo strumento di fatto per la ricerca di file di testo. Tuttavia, quando ci sono troppe corrispondenze, trovare il testo richiesto nei risultati della ricerca può essere difficile. Quindi grep arriva con --color="auto" opzione. Circonda la stringa corrispondente con il colore, risultando così in un output migliorato. Ora sai che grep può evidenziare con il colore il testo o le parole corrispondenti nel suo output. Tuttavia, per impostazione predefinita, tale opzione è disattivata. Quindi vediamo come colorare grep per impostazione predefinita per visualizzare l’intero file con le corrispondenze evidenziate su sistemi Linux o Unix-like.
Ad esempio, cerca una parola chiamata vivek in /etc/passwd usando grep colorato come segue: grep --color="auto" vivek /etc/passwd Circonda il testo corrispondente come segue:
Trovare una stringa con grep con l’evidenziazione del colore attivata
Passa il --colore opzione al comando grep come segue: $ grep --color="auto" -i error /var/log/messages Produzione:
............
...
Oct 9 16:12:14 vivek-desktop kernel: [ 11.555442] bt878: probe of 0000:05:00.1 failed with error -22
Oct 10 17:35:28 vivek-desktop kernel: [ 10.564710] bt878: probe of 0000:05:00.1 failed with error -22
Oct 11 10:15:34 vivek-desktop kernel: [ 12.187477] bt878: probe of 0000:05:00.1 failed with error -22
Oct 11 14:29:56 vivek-desktop kernel: [ 11.135309] bt878: probe of 0000:05:00.1 failed with error -22
..........
...
....
Ora tutto il testo abbinato viene visualizzato utilizzando il colore rosso. Il --colore opzione per le corrispondenze nell’input in colore rosso per impostazione predefinita. Il colore viene aggiunto tramite sequenze di escape ANSI. Per cambiare il colore usa la variabile d’ambiente GREP_COLOR. Di seguito imposterà lo sfondo al rosso e il primo piano al bianco: $ export GREP_COLOR='1;37;41' $ egrep --color=auto -i '(error|fatal|warn|drop)' /var/log/messages Ti consiglio di inserire quanto segue nel tuo file ~/.bash_profile ~/.bashrc: $ vi ~/.bash_profile Aggiungi il seguente alias: export GREP_COLOR='1;37;41' alias grep='grep --color=auto' Salva e chiudi il file. Si prega di notare che --colore L’opzione funziona con molte utilità di testo GNU, quindi sentiti libero di usare lo stesso.
Grep colorato per visualizzare l’intero file con le corrispondenze evidenziate
Ci sono tre opzioni che possiamo passare al --colore[=WHEN] o --colore[=WHEN]. QUANDO può essere:
Guide solo per i sostenitori di Patreon ????
Nessuna pubblicità e tracciamento
Guide approfondite per sviluppatori e amministratori di sistema su Opensourceflare✨
Unisciti al mio Patreon per supportare i creatori di contenuti indipendenti e iniziare a leggere le ultime guide:
Aderire Patreon ?
--colore=mai : Disattiva colorazione
--colore=sempre : Cerca sempre di visualizzare le stringhe/parole corrispondenti a colori sul terminale
--colore=auto : Roba automatica
Trova facilmente le stringhe con la funzione di evidenziazione del colore grep in ogni momento
Devi impostare o creare un alias Bash permanente su Linux/Unix come segue nel tuo ~/.bashrc:
Come vedere l’output di grep a colori con la funzione di evidenziazione con altri comandi
Ecco un esempio in cui --colore=sempre fa sì che i caratteri di controllo “grezzi” vengano visualizzati utilizzando il comando less:
grep--color=always foo /path/to/input |less-rgrep--color=always dns /etc/passwd|less-r# the following will not work as we failed to pass the always optiongrep--color dns /etc/passwd|less-r
Funzionerà anche con il comando more: grep --color dns /etc/passwd | more
Riassumendo
Il --colore L’opzione circonda le stringhe corrispondenti (non vuote), le righe corrispondenti, le righe di contesto, i nomi di file, i numeri di riga, gli offset di byte e i separatori (per i campi e i gruppi di righe di contesto) con sequenze di escape per visualizzarli a colori sul terminale. I colori sono definiti dalla variabile d’ambiente GREP_COLORS. La variabile di ambiente obsoleta GREP_COLOR è ancora supportata, ma la sua impostazione non ha priorità. Vedere la pagina man del comando grep legando il seguente comando man: man grep man egrep
ANNUNCIO
Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.