#1 Le 07/06/2010, à 00:21
- Hizoka
[resolu] supprimer espaces multiples en full bash
Bonsoir,
je me posais une question : Peut-on supprimer les espaces inutiles d'une variable en full bash (sans sed et co).
Par exemple :
test="Oui - Non"
echo ${test// */ /}
=> Oui - Non
or cette commande renvoie :
=> Oui
alors apres on peut faire une boucle :
test="Oui - Non"
for i in {1..10}
do
test=${test// / /}
done
mais bon c'est un peu galere pour quelques espaces
merci
Dernière modification par Hizoka (Le 07/06/2010, à 02:31)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#2 Le 07/06/2010, à 00:33
- Watael
Re : [resolu] supprimer espaces multiples en full bash
un contournement
test="Oui - Non"
echo "${test// *[^[:alnum:]]/ - }"
ou simplement
test=$(echo $test)
$test sans guillemets
Edit: cela semble fonctionner
echo "${test//+( )/ }"
Dernière modification par Watael (Le 07/06/2010, à 01:11)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 07/06/2010, à 01:27
- Hizoka
Re : [resolu] supprimer espaces multiples en full bash
tu peux m'expliquer un peu cette derniere commande stp ?
EDIT : bon bah ça passe pas dans mon script... par contre le coup du echo, lui fonctionne
merci
Dernière modification par Hizoka (Le 07/06/2010, à 01:33)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#4 Le 07/06/2010, à 01:42
- Watael
Re : [resolu] supprimer espaces multiples en full bash
la description faite dans le man bash /Motifs génériques (/Pattern Matching), est explicite
Si l’option extglob d’interpréteur est activée par la commande interne shopt plusieurs opérateurs de correspondance étendue sont reconnus.
Dans la description suivante, une liste-motif est une liste d’un ou plusieurs motifs séparés par des |.
je te laisse lire le paragraphe.
Edit: donc dans un script, il faudra ajouter
shopt -s extglob
Dernière modification par Watael (Le 07/06/2010, à 01:45)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 07/06/2010, à 02:31
- Hizoka
Re : [resolu] supprimer espaces multiples en full bash
bon bah resolu alors
merci.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne