GNU/Linux >> Linux Esercitazione >  >> Linux

Come fare in modo che GREP selezioni solo valori numerici?

grep stamperà qualsiasi riga corrispondente al modello fornito. Se vuoi stampare solo la parte della linea che corrisponde al motivo, puoi passare -o opzione:

-o, --only-matching Stampa solo le parti corrispondenti (non vuote) di una riga corrispondente, con ognuna di queste parti su una riga di output separata.

In questo modo:

echo 'Here is a line mentioning 99% somewhere' | grep -o '[0-9]+'

Se provi:

 echo "99%" |grep -o '[0-9]*'

Restituisce:

99

Ecco i dettagli sul -o (o --only-matching flag) funziona dalla pagina man di grep.

Stampa solo le parti corrispondenti (non vuote) delle righe corrispondenti, con ciascuna di queste parti su una riga di output separata. Le righe di output utilizzano gli stessi delimitatori dell'input e i delimitatori sono byte nulli se viene utilizzato anche -z (--null-data) (vedere Altre opzioni).


Che ne dici di:

df . -B MB | tail -1 | awk {'print $4'} | cut -d'%' -f1

Linux
  1. Grep per una riga contenente solo 5 o 6 numeri?

  2. linea di comando linux:du --- come fare in modo che mostri solo il totale per ogni directory

  3. Come usare sed per rimuovere solo le doppie righe vuote?

  4. Come grep \n nel file

  5. Come differenziare solo la prima riga di due file?

Come commentare in Bash

Come eseguire la ricerca del modello nei file utilizzando Grep

Come fare buon uso del comando 'grep'

Come concatenare più righe di output in una riga?

Come stampare solo i valori esadecimali da hexdump senza i numeri di riga o la tabella ASCII?

Come fare in modo che il comando grep restituisca l'intera riga corrispondente