#1 Le 19/01/2016, à 08:18
- fredobaldo
[RESOLU] Manipulation de chaine de caractere
Bonjour,
J'ai des chaînes de caractères (pas de la même longueur, mais toujours avec des chiffres)
et notamment la suivante:
ch=123456789
echo $ch #me donne: 123456789
Je voudrais intercaler entre chaque caractère un slash (/) et donc la transformer en:
ch=1/2/3/4/5/6/7/8/9
echo $ch #me donne: 1/2/3/4/5/6/7/8/9
Autre exemple, il faudrait que 114430 me donne 1/1/4/4/3/0
Pourriez vous me dire comment faire ? avec un while ? existe t il une astuce, une syntaxe bash ?
Merci.
Dernière modification par fredobaldo (Le 19/01/2016, à 09:03)
Hors ligne
#2 Le 19/01/2016, à 08:29
- pingouinux
Re : [RESOLU] Manipulation de chaine de caractere
Bonjour,
sed 's#.#&/#g;s#.$##' <<<"$ch"
Ajouté :
Et si tu veux modifier la variable ch
ch=$(sed 's#.#&/#g;s#.$##' <<<"$ch")
Dernière modification par pingouinux (Le 19/01/2016, à 08:41)
Hors ligne
#3 Le 19/01/2016, à 09:02
- fredobaldo
Re : [RESOLU] Manipulation de chaine de caractere
Parfait merci.
Hors ligne
#4 Le 23/01/2016, à 16:14
- Totor
Re : [RESOLU] Manipulation de chaine de caractere
zsh -c 'variable="12345"; echo "${${(s..)variable}// //}"'
1/2/3/4/5
ou encore :
zsh -c 'variable="12345"; echo "${(j:/:)${(s..)variable}}"'
Dernière modification par Totor (Le 23/01/2016, à 16:16)
-- Lucid Lynx --
Hors ligne