Table of Contents

Comment supprimer tous les caractères non numériques d'une chaîne dans Bash

Pour modifier un fichier

Pour modifier un fichier de sorte qu'il ne contienne que les chiffres et que la partie texte soit supprimée:

$ echo $file | sed 's/[^0-9]*//g' 
123
$ echo "123 he23llo" | sed 's/[^0-9]*//g'
12323
$ echo "${file//[!0-9]/}" 
123
$ file="123 hello 12345 aaa"
$ echo "${file//[!0-9]/}" 
12312345

Pour enregistrer le résultat dans une variable

$ file=$(echo $file | sed 's/[^0-9]*//g')
$ echo $file
123

$ file=${file//[!0-9]/}
$ echo $file
123