GNU/Linux >> Tutoriels Linux >  >> Linux

Comment faire en sorte que GREP ne sélectionne que des valeurs numériques ?

grep imprimera toutes les lignes correspondant au modèle que vous fournissez. Si vous souhaitez uniquement imprimer la partie de la ligne qui correspond au motif, vous pouvez passer le -o choix :

-o, --only-matching N'imprimez que les parties correspondantes (non vides) d'une ligne correspondante, chacune de ces parties sur une ligne de sortie distincte.

Comme ceci :

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

Si vous essayez :

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

Il renvoie :

99

Voici les détails sur le -o (ou --only-matching flag) fonctionne à partir de la page de manuel de grep.

Imprimez uniquement les parties correspondantes (non vides) des lignes correspondantes, chacune de ces parties sur une ligne de sortie distincte. Les lignes de sortie utilisent les mêmes délimiteurs que l'entrée, et les délimiteurs sont des octets nuls si -z (--null-data) est également utilisé (voir Autres options).


Que diriez-vous :

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

Linux
  1. Comment créer des répertoires de sortie arborescente uniquement ?

  2. Comment faire démarrer automatiquement le programme uniquement dans Gnome ?

  3. Comment puis-je faire en sorte que grep imprime les lignes en dessous et au-dessus de chaque ligne correspondante?

  4. Comment puis-je grep récursivement?

  5. Comment grep \n dans le fichier

Comment commenter dans Bash

Comment effectuer une recherche de modèle dans les fichiers à l'aide de Grep

Comment faire bon usage de la commande 'grep'

Comment imprimer uniquement les valeurs hexadécimales de hexdump sans les numéros de ligne ni la table ASCII ?

Comment faire en sorte que la commande grep renvoie toute la ligne correspondante

Puis-je faire en sorte que rsync ne sorte que le résumé ?