GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je obtenir le dernier numéro de la chaîne dans bash?

Vous pouvez utiliser l'expansion des paramètres avec extglob. Tout d'abord, supprimez le nombre à la fin, puis supprimez ce que vous avez obtenu au début.

#!/bin/bash
shopt -s extglob
for str in str1s2 djfs1d2.3 fefwfw4rfe45 234ef8 ; do
    without_number=${str%%+([0-9])}
    echo ${str#$without_number}
done

Tout ce dont vous avez besoin est grep -Eo '[0-9]+$' :

[email protected]:~$ echo 234ef85 |grep -Eo '[0-9]+$'          ## --> 85
[email protected]:~$ echo 234ef856 |grep -Eo '[0-9]+$'         ## --> 856
[email protected]:~$ echo 234ef85d6 |grep -Eo '[0-9]+$'        ## --> 6
[email protected]:~$ echo 234ef85d.6 |grep -Eo '[0-9]+$'       ## --> 6
[email protected]:~$ echo 234ef85d.6. |grep -Eo '[0-9]+$'      ## --> no result
[email protected]:~$ echo 234ef85d.6.1 |grep -Eo '[0-9]+$'     ## --> 1
[email protected]:~$ echo 234ef85d.6.1222 |grep -Eo '[0-9]+$'  ## --> 1222

Linux
  1. Comment tester si une variable est un nombre dans Bash ?

  2. Comment puis-je obtenir des valeurs uniques à partir d'un tableau dans Bash ?

  3. Comment obtenir le répertoire absolu d'un fichier dans bash ?

  4. Comment puis-je *uniquement* obtenir le nombre d'octets disponibles sur un disque en bash ?

  5. comment obtenir des éléments de la liste en bash?

Comment obtenir le nombre de processeurs/cœurs sous Linux

Comment obtenir le statut de sortie d'une boucle dans bash

Comment puis-je compter le nombre de caractères dans une variable Bash

Comment puis-je obtenir des informations sur le conteneur Docker Linux à partir du conteneur lui-même ?

Comment puis-je obtenir des messages de journal du serveur LAMP sur Ubuntu 10.04 ?

Comment puis-je obtenir la longueur d'un fichier vidéo à partir de la console ?