Retirer le début ou la fin d’une chaîne Variable:retirer le début ou la fin d’une chaîne

Objectif

Retirer la fin d’une chaîne de caractères.

Exemple

Retrait de l’extension d’un nom de fichier.

Initialisation de la variable fichier

$ fichier=rapport.docx 

Première méthode (ksh, bash)

Utiliser les caractères de substitution de variables :

$ echo ${fichier%.*}  
rapport 

Le caractère % permet de retirer la partie la plus courte à droite correspondant à .*.

(cf. chapitre Aspects avancés de la programmation shell - Manipulation de variables) 

Deuxième méthode

Utilisation de la commande expr :

$ expr $fichier : '\(.*\)\..*$'   
rapport 

La commande expr affiche la chaîne qui correspond au parenthésage.

(cf. chapitre Les expressions régulières - Exploitation des expressions régulières par les commandes)

Troisième méthode

Utilisation de la commande sed :

$ echo $fichier | sed 's/\.[ˆ.]*$//'  
rapport 

La partie extension est recherchée et remplacée par du vide.

(cf. chapitre Les expressions régulières - Exploitation des expressions régulières par les commandes)

Quatrième méthode

Utilisation de la fonction sub de awk et d’une expression régulière :

$ echo $fichier | awk '{ sub(/\..+$/,"",$0) ; print $0 }'  
rapport 

(cf. chapitre Le langage de programmation...

couv_EI7PRO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Non-correspondance d'une variable par rapport à un modèle
Suivant
Calculer la longueur d'une chaîne