Léa-Linux & amis :   LinuxFR   GCU-Squad   Zarb.Org   GNU
Archive de la liste aide - [Aide] problème avec une fonction dans un script bash
Et maintenant ton code marche?


Autre suggestion.

Bash possède des fonctions internes sur les chaînes depuis les
versions récentes.

Ainsi,  pour remplacer des caractères dans une chaîne, la fonction est
:  ${paramètre/motif/chaîne}


###############################################
# prenons une chaîne pleine d'espaces
###############################################
string1="     il était     un             petit cochon. naf-naf.   "



###############################################
# voilà le remplacement de chaque espace par une étoile *
###############################################
echo "<${string1// /*}>"
<*****il*était*****un*************petit*cochon.*naf-naf.***>


###############################################
# voilà le remplacement de chaque espace par "xyz"
###############################################
echo "<${string1// /xyz}>"
<xyzxyzxyzxyzxyzilxyzétaitxyzxyzxyzxyzxyzunxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzpetitxyzcochon.xyznaf-naf.xyzxyzxyz>



###############################################
# suppression de chaque espace
###############################################
echo "<${string1// /}>"
<ilétaitunpetitcochon.naf-naf.>



###############################################
# notez bien, le [echo] n'est là que pour faire afficher.
# si on veut juste remplacer, on peut faire:
###############################################
string2="${string1// /}"



###############################################
# bien sûr, on peut aussi le faire sur la même variable
###############################################
string1="${string1// /}"


C'est beau, bash, non?

Pour vous en convaincre, allez voir Bash-hackers ou bien ... tapez
[man bash] en ligne de commande :-)


__P

Serveur hébergé par ST-Hebergement et Lost-Oasis / IRC hébergé par FreeNode / NS secondaire hébergé par XName
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons