Comment extraire une sous chaîne de caractères en Bash

Il est possible en Shell d’extraire d’une variable une sous chaîne de caractères.

Extraire à partir d’une position :

Exemple 1 :

Dans l’exemple ci-dessus nous avons initialisé la variable var avec la valeur toto, ensuite nous avons afficher la variable var à partir de la position 0, puis 1, puis 2.

Exemple 2 :

Dans l’exemple ci-dessus nous avons mis la position dans la variable pos avec comme valeur 1. Le résultat affiche oto.

 

Extraire une certaine longueur à partir d’une position :

Exemple :

Ci dessus, nous avons fait des extractions de sous chaînes de caractères de certaines longueurs et à partir de positions données.

Afficher les champs login du fichier /etc/password avec awk

awk est un programme, disponible sur tous les systèmes Unix permettant, de produire, manipuler et modifier des fichiers texte. La commande awk suivante permet d’afficher que les login contenu dans le fichier /etc/passwd :

Pour information :

-Fpermet d’indiqué quel est séparateur de champs;
printc’est la fonction qui demande à awk l’affichage;
$nnuméro du champ à afficher;

Dans notre exemple le fichier /etc/passwd est constitué de champs séparés par le caractère (:)
On peut observer dans notre exemple qu’on utilise la fonction print $1 qui indique à awk d’afficher le champ n°1.

Le fichier /etc/passwd est de la forme suivante :