Ajout de saut de ligne
Fermé
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
-
26 févr. 2010 à 09:49
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 26 févr. 2010 à 12:31
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 26 févr. 2010 à 12:31
A voir également:
- Sed saut de ligne
- Site de vente en ligne particulier - Guide
- Saut de ligne excel - Guide
- Partage de photos en ligne - Guide
- Hors ligne instagram - Guide
- Ligne occupée - Forum Mobile
12 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
26 févr. 2010 à 10:45
26 févr. 2010 à 10:45
Salut,
#!/bin/bash Machines=machine1+machine2+machine3 liste=$(echo $Machines | sed 's/+/\n/g') echo "$liste"
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
26 févr. 2010 à 11:14
26 févr. 2010 à 11:14
Re,
Je t''es pourtant dit quoi faire. Il faut utiliser les guillemets pour l'affichage.
Je t''es pourtant dit quoi faire. Il faut utiliser les guillemets pour l'affichage.
lami20j@debian-acer:~/livres_tutoriaux/pcasm/linux-ex$ cat plus.sh #!/bin/bash Machines=machine1+machine2+machine3 liste=$(echo $Machines | sed 's/+/\n/g') liste2=`echo "$liste"` echo "$liste2" lami20j@debian-acer:~/livres_tutoriaux/pcasm/linux-ex$ sh plus.sh machine1 machine2 machine3
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
17
26 févr. 2010 à 11:17
26 févr. 2010 à 11:17
justement c'est pas l'affichage qui m'interesse mais c'est le contenu de la variable..
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
>
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
26 févr. 2010 à 11:20
26 févr. 2010 à 11:20
L'affichage n'est que la forme représentative de l'interprétation !
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
17
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
26 févr. 2010 à 11:33
26 févr. 2010 à 11:33
dans l'exemple précedent j'ai fait le echo juste pour vérifier le contenu de la variable liste2
voila un autre exemple:
le but c'est d'avoir la liste de toutes les machine dans allMachine afin d'effectuer des taches sur ces machines. donc je n'ai vraiment rien à faire avec l'affichage c'était juste pour voir le contenu des variables
voila un autre exemple:
allMachine='' for i in 1 4 7 10; do Machines=machine$i+machine$(i+1)+machine$(i+2) liste=$(echo $Machines | sed 's/+/\n/g') allMachine=$allMachine' '$Machines done
le but c'est d'avoir la liste de toutes les machine dans allMachine afin d'effectuer des taches sur ces machines. donc je n'ai vraiment rien à faire avec l'affichage c'était juste pour voir le contenu des variables
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
26 févr. 2010 à 09:57
26 févr. 2010 à 09:57
Salut,
Bizarre en effet ;-\
Quelle version de "sed" ?
Quel shell ?
Sur un fichier Unix ?
Bizarre en effet ;-\
Quelle version de "sed" ?
Quel shell ?
Sur un fichier Unix ?
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
17
26 févr. 2010 à 10:04
26 févr. 2010 à 10:04
en fait, je débute avec linux et je sais pas comment avoir toute ces informations!!
je lance la commande depuis un script, par contre si je la lance directement depuis le shell ya aucun souci!
je lance la commande depuis un script, par contre si je la lance directement depuis le shell ya aucun souci!
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
26 févr. 2010 à 10:17
26 févr. 2010 à 10:17
Alors montres-nous ton script qu'on essaie de repérer ce qui ne va pas...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
17
26 févr. 2010 à 10:31
26 févr. 2010 à 10:31
voici le bout qui pose probleme:
#!/bin/bash Machines=machine1+machine2+machine3 liste=` echo $Machines | sed 's/+/\n/g'` echo $liste
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
17
26 févr. 2010 à 10:41
26 févr. 2010 à 10:41
en fait je remarque une chose, si je fais ça:
ça marche bien mais l'autre façon de faire ne marche toujours pas!!
Machines=machine1+machine2+machine3 echo $Machines | sed 's/+/\n/g'
ça marche bien mais l'autre façon de faire ne marche toujours pas!!
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
17
26 févr. 2010 à 10:46
26 févr. 2010 à 10:46
j'ai vraiment besoin de mettre le résultat dans une variable!! je vois pas comment faire sans me retrouver dans le cas initial!!
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
26 févr. 2010 à 10:47
26 févr. 2010 à 10:47
Re,
Regarde la réponse 6
Regarde la réponse 6
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
26 févr. 2010 à 10:55
26 févr. 2010 à 10:55
Regarde la réponse de "lami20j", ou alors :
#!/bin/bash Machines=machine1+machine2+machine3 echo -e "${Machines//+/\n}"
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
17
26 févr. 2010 à 11:08
26 févr. 2010 à 11:08
Merci ça marche bien, mais en fait y a toujours un souci quand j'utilise la variable liste! le saut de ligne je le veux dans la variable pas juste dans l'affichage
exemple:
liste2 contient exactement la même valeur que liste
exemple:
#!/bin/bash Machines=machine1+machine2+machine3 liste=$(echo $Machines | sed 's/+/\n/g') liste2=`echo "$liste"` echo $liste2
liste2 contient exactement la même valeur que liste
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
26 févr. 2010 à 11:25
26 févr. 2010 à 11:25
Re,
Alors tu veux ça?
Alors tu veux ça?
lami20j@debian-acer:~/livres_tutoriaux/pcasm/linux-ex$ cat plus.sh #!/bin/bash Machines=machine1+machine2+machine3 liste=$(echo $Machines | sed 's/+/\\n/g') liste2=$(echo $liste) echo $liste echo -e $liste lami20j@debian-acer:~/livres_tutoriaux/pcasm/linux-ex$ sh plus.sh machine1\nmachine2\nmachine3 machine1 machine2 machine3
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
26 févr. 2010 à 11:43
26 févr. 2010 à 11:43
Re,
donc je n'ai vraiment rien à faire avec l'affichage c'était juste pour voir le contenu des variables
Du calme, d'accord?!
On essaie de t'aider et pour pouvoir t'aider il faut d'abord comprendre ce que tu veux.
Pour le moment je ne vois pas ce que tu veux donc je ne fais que tâtonner le terrain.
Si tu veux voir le contenu de variable alors tu n'as qu'à faire comme ça, pas besoin de sed
donc je n'ai vraiment rien à faire avec l'affichage c'était juste pour voir le contenu des variables
Du calme, d'accord?!
On essaie de t'aider et pour pouvoir t'aider il faut d'abord comprendre ce que tu veux.
Pour le moment je ne vois pas ce que tu veux donc je ne fais que tâtonner le terrain.
Si tu veux voir le contenu de variable alors tu n'as qu'à faire comme ça, pas besoin de sed
lami20j@debian-acer:~/livres_tutoriaux/pcasm/linux-ex$ cat plus.sh #!/bin/bash Machines=machine1+machine2+machine3 IFS='+' for m in $Machines do echo $m done lami20j@debian-acer:~/livres_tutoriaux/pcasm/linux-ex$ sh plus.sh machine1 machine2 machine3
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
17
26 févr. 2010 à 11:54
26 févr. 2010 à 11:54
apprament je me suis mal expliquée!! Alors je reprend,
la variable Machines contient ça:
je veux que la variable liste contienne ça:
apres les commande que je fais je verfie si ma variable liste contient ce que je veux donc je fais ça:
ce code
ou celui là
donne un affichage parfait, mais ne change rien au niveau du contenu de ma varibale!! je sais pas si c'est plus claire maintenant!!!
la variable Machines contient ça:
Machines=machine1+machine2+machine3
je veux que la variable liste contienne ça:
liste= machine1 machine2 machine3
apres les commande que je fais je verfie si ma variable liste contient ce que je veux donc je fais ça:
echo $liste
ce code
echo "$liste"
ou celui là
echo -e $liste
donne un affichage parfait, mais ne change rien au niveau du contenu de ma varibale!! je sais pas si c'est plus claire maintenant!!!
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
26 févr. 2010 à 12:31
26 févr. 2010 à 12:31
si tu fais
$ set|grep liste
liste=$'machine1\nmachine2\nmachine3'
la variable contient bien ce que tu veux
$ set|grep liste
liste=$'machine1\nmachine2\nmachine3'
la variable contient bien ce que tu veux