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 Les bases de la programmation shell - Les variables utilisateur)

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 awk - Fonctions intégrées)

Cinquième méthode

Utilisation...

Pour consulter la suite, découvrez le livre suivant :
couv_RI5PRO.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Comparaison d'une variable par rapport à un modèle
Suivant
Récupérer le champ d'une ligne