Puissance 4 Bash

Puissance 4 Bash - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 03-12-2014 à 15:03:21    

Bonjour à tous,
J'ai un petit soucis. Voilà je réalise un puissance 4 en bash. Actuellement, je suis au début mais je suis bloqué car je cherche comment remplacer un caractère précis dans une chaine de caractère. Voici mon code pour le moment:

Code :
  1. #!/bin/bash
  2. ligne[0]='_ _ _ _ _ _ _'
  3. ligne[1]='_ _ _ _ _ _ _'
  4. ligne[2]='_ _ _ _ _ _ _'
  5. ligne[3]='_ _ _ _ _ _ _'
  6. ligne[4]='_ _ _ _ _ _ _'
  7. ligne[5]='_ _ _ _ _ _ _'
  8. var=1
  9. for i in 0 1 2 3 4 5
  10. do
  11. echo ${ligne[i]}
  12. done
  13. exit 0


Après diverses recherches sur internet, j'ai trouvé ceci:

Code :
  1. echo ${ligne[2]} | sed s/"_"/"x"/$var


Ceci fonctionne bien, mais je voulais remplacer le contenu de ligne[2] et ici ça ne modifie que la chaine de caractère lorsque l'on l'affiche, si on ré-affiche le tableau après la ligne redevient composé de _ et le x disparait.

 

Merci d'avance,
Tocraft


Message édité par Tocraft le 03-12-2014 à 15:09:28
Reply

Marsh Posté le 03-12-2014 à 15:03:21   

Reply

Marsh Posté le 03-12-2014 à 15:42:21    

salut,
 

Code :
  1. ligne[2]=$(echo "${ligne[2]}" | sed "s/_/x/$var" )

cf. man bash /Substitution de commande

Reply

Marsh Posté le 03-12-2014 à 16:00:55    

Merci beaucoup, c'était hyper simple en faite...  :sweat:  

Reply

Marsh Posté le 06-12-2014 à 12:45:48    

Pas besoin de passer par sed pour une substitution pas trop complexe, bash inclue des fonctions de substitution: http://tldp.org/LDP/abs/html/string-manipulation.html

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed