17/11/2024

Commandes et Système

L’utilisation de la combinaison des commandes grep et cut

I. Présentation

Dans le but de récupérer certaines parties d’un résultat suite à la commande grep, il peut paraitre utile d’utiliser la commande cut qui coupera notre résultat à partir d’un caractère par exemple.

II. Exemple d’utilisation

Nous souhaitons par exemple dans un script bash mettre notre adresse IP dans une variable. En toute logique la commande pour récupérer notre adresse IP est la suivante :

GrepCut01

Nous avons alors trop d’informations puisque nous souhaitons uniquement l’adresse IP de notre machine. Nous pouvons alors utiliser grep pour nous retrouver seulement avec une seule ligne, nous savons que la ligne contenant notre IP contient également le terme « Bcast », nous passons alors cette commande pour nous retrouver uniquement avec cette ligne :

GrepCut02

Voila qui est déjà mieux, cependant nous ne voulons toujours uniquement notre IP. Nous voyons que notre ligne est plusieurs fois séparée par des espaces. Cela tombe bien, la commande cut permet de découper une entrée en utilisant un caractère, nous pouvons donc utiliser ici l’espace :

GrepCut03

Quelques explications :

  • Ifconfig : c’est la commande que l’on passe pour avoir notre IP
  • grep « Bcast » : c’est ce qui nous permet d’isoler la ligne contenant notre IP
  • cut : c’est une commande linux permettant de sélectionner une partie de plusieurs entrées séparés par un caractère délimiteur.
  • -d " " : cette option nous sert à préciser le délimiteur (avec -d, ce sera forcément un caractère). Ici, un simple espace
  • -f : c’est la partie que nous voulons afficher. Ici, nous affichons ce qui est après le 12ème espace

III. Aller plus loin

Voici ce qui nous arrive si l’on souhaite afficher ce qu’il y a après le 13ème espace:

GrepCut04

Oops, nous voyons que c’est un autre espace qui nous est affiché, nous voyons en effet qu’il y a deux espaces entre l’adresse IP et le Broadcast. Nous devons donc afficher ce qu’il y a après le 14ème espace pour avoir l’adresse de broadcast :

GrepCut05

Si nous souhaitons voir disparaitre le « adr : », il nous suffit de recouper à nouveau notre entrée comme suivant :

GrepCut06

Le couple des commandes grep et cut peut être très puissant pour le trie et la gestion d'un grand nombre de sortie.

author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.