Manipulation d'une chaine de caractere shell

[Résolu/Fermé]
Signaler
-
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
-
Bonjour,

Je cherche en fait à manipuler une chaine de caractere variable.
Je m'explique , je definie des variable du type
AA=`date +%y`
MM=`date +%m`
JJ=`date +%j`

ensuite j'affiche un message du style
echo veuillez rentrer la chaine de caractere
read chaine

l'utilisateur va rentrer par exemple MMJJAA dans n'importe quel ordre en fait et j'aurais besoin de les convertir dans le même ordre par les variables que j'ai defini au dessus
j'ai pensé à utlisér la commande test mais ca me ferais tester tout les cas possible or comme il y a plus de possibilité que ce que j'ai cité ca me semble trop lourd a gerer
si vous avez une iddée je suis preneur :o)

3 réponses

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881
Salut,
#! /bin/sh

#set -xv

AA=$(date +%y)
MM=$(date +%m)
JJ=$(date +%d)

echo "Veuillez rentrer la chaine de caractere : "
read chaine
eval echo $(echo $chaine | sed "s/../\${&}/g")
Reste à rajouter un test sur la chaine entrée pour vérifier que les caractères soient les bons et le nombre aussi (2 de chaque)...

;-))
Ca fonctionne.
Merci beaucoup
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881
De rien ;-))