#1 Le 31/03/2008, à 12:48
- hikamovic
Comment centré une chaine de caractère ? et comment la concatener ?
Bonjour ts le monde,
Voilà c mn premier poste dans ce forum et j'espere avoir de l'aide car je suis coincé.
Je dois réaliser un Tp avec un script shell, qui demande l'affichage d'une chaîne qui se concatène et qui s'affiche au milieu de la ligne,
Les questions que que me pose sont les suivants :
-- Comment pouvoir centré un affichage avec echo ou print ?
-- Comment concaténer une chaine de caractère ?
Merci par avance pour votre temps
Hors ligne
#2 Le 31/03/2008, à 13:09
- whitedamon
Re : Comment centré une chaine de caractère ? et comment la concatener ?
Ce que tu nous demande là, c'est du PHP si je ne me trompe pas. Je connais un site vraiment tres bien, ou quelqu'un a surement posé cette question sur leur forum (et je crois meme que les réponses se trouvent dans leurs tutorials) Le site en question c'est www.siteduzero.com rubrique PHP/MYSQL
A savoir; il est bien mieux d'utiliser Echo que Print.
Hors ligne
#3 Le 31/03/2008, à 13:53
- hikamovic
Re : Comment centré une chaine de caractère ? et comment la concatener ?
Pardonner moi de ne pas était si claire, en faite il s'agit de script shell (bourne shell)
Merci comme même pr ta réponse whitedamon
Dernière modification par hikamovic (Le 31/03/2008, à 13:54)
Hors ligne
#4 Le 31/03/2008, à 14:01
- philou8237
Re : Comment centré une chaine de caractère ? et comment la concatener ?
bah centrer en shell... ça dépend de la largeur de ta console. Si c standard, tu as 80 caractères de large. Sachant que connaitre la longueur d'une chaine se fait facilement avec un "echo $str |wc -c"; tu peu en déduire le nombre d'espace à mettre avant là chaine.
Pour la concaténation :
str_cat=`echo $str1$str2`
Hors ligne
#5 Le 31/03/2008, à 14:42
- hikamovic
Re : Comment centré une chaine de caractère ? et comment la concatener ?
Merci bq philou8237
Hors ligne
#6 Le 31/03/2008, à 15:20
- Alain.g
Re : Comment centré une chaine de caractère ? et comment la concatener ?
regarde du côté de sed
http://sed.sourceforge.net/sed1line_fr.html
# aligner tout le texte à la droite sur la 79e colonne
sed -e :a -e 's/^.\{1,78\}$/ &/;ta' # mettre à 78 plus un espace# centrer tout le texte sur le centre de la 79e colonne. Dans la première
# méthode, tout espace au début de la ligne est significatif, et
# des espaces sont ajoutés à la fin de la ligne. Dans la deuxième
# méthode, les espaces précédant les lignes sont ignorés pendant
# le processus de centrage, et aucun espace n'est ajouté à la fin des lignes.
sed -e :a -e 's/^.\{1,77\}$/ & /;ta' # méthode 1
sed -e :a -e 's/^.\{1,77\}$/ &/;ta' -e 's/\( *\)\1/\1/' # méthode 2
Xubuntu Karmic !
Hors ligne
#7 Le 31/03/2008, à 17:26
- hikamovic
Re : Comment centré une chaine de caractère ? et comment la concatener ?
Merci Alain pour ta réponse,
mais j'arrive pas a affiché les lignes que géner mon script shell. j'ai essayé avec expr :
expr `sed -e :a -e 's/^.\{1,77\}$/ & /;ta' `
Mais j'ai rien en sorti
idem pour
sed -e :a -e 's/^.\{1,77\}$/ &/;ta' -e 's/\( *\)\1/\1/'
Merci
Hors ligne
#8 Le 31/03/2008, à 20:01
- Alain.g
Re : Comment centré une chaine de caractère ? et comment la concatener ?
si tu ne lui donnes rien en entrée, tu n'auras rien en sortie
echo bonjour | sed …
programme | sed …
sed … < fichier
Xubuntu Karmic !
Hors ligne
#9 Le 31/03/2008, à 22:21
- Saito
Re : Comment centré une chaine de caractère ? et comment la concatener ?
Pour la concaténation :
str_cat=`echo $str1$str2`
On appelle ça «Useless use of echo», ce «echo» et ces backquotes ne servent à rien mis à a part utiliser des ressources pour rien
Pour concaténer deux variables un simple
str_cat=$str1$str2
suffit, voire même pour éviter toute ambiguïté:
str_cat=${str1}$str2
Aku-Soku-Zan_Shinsengumi
Hors ligne
#10 Le 01/04/2008, à 14:51
- hikamovic
Re : Comment centré une chaine de caractère ? et comment la concatener ?
Merci les amis ca marche super b1
Hors ligne