[script shell ] petits scripts
Fermé
tarikbenn
Messages postés
110
Date d'inscription
jeudi 13 juillet 2006
Statut
Membre
Dernière intervention
27 juin 2007
-
28 sept. 2006 à 13:00
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 28 sept. 2006 à 19:13
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 28 sept. 2006 à 19:13
A voir également:
- [script shell ] petits scripts
- Script vidéo youtube - Guide
- Microsoft activation script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Classic shell windows 11 - Télécharger - Personnalisation
- Script cmd - Guide
6 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 569
28 sept. 2006 à 13:12
28 sept. 2006 à 13:12
Salut,
en attendant la réponse de jipicy ;)
while [ ! 'a' || ! 'z' ]
tu dois tester le contenu de la variable, et tu ne le fait pas
'a' et 'z' ne sont que des caractères (donc tu testes des constantes)
Tu dois tester si le contenu de la variable et 'a' ou 'z'
A c'est la variable
$A c'est son contenu
je ne suis pas sous linux pour tester. A toi de faire les modifications ;)
lami20j
en attendant la réponse de jipicy ;)
while [ ! 'a' || ! 'z' ]
tu dois tester le contenu de la variable, et tu ne le fait pas
'a' et 'z' ne sont que des caractères (donc tu testes des constantes)
Tu dois tester si le contenu de la variable et 'a' ou 'z'
A c'est la variable
$A c'est son contenu
je ne suis pas sous linux pour tester. A toi de faire les modifications ;)
lami20j
tarikbenn
Messages postés
110
Date d'inscription
jeudi 13 juillet 2006
Statut
Membre
Dernière intervention
27 juin 2007
1
28 sept. 2006 à 13:47
28 sept. 2006 à 13:47
Salut Lami20j
J'ai essayé plusieurs syntaxes ( $A != 'a' ...$A ! 'a' ... )
mais aucune ne marche ...
Donc pas de blindage pour le moment ...
Sinon j'ai une deuxieme question :
Comment faire pour creer , dans un script shell , un fichier dans lequel on ecrira "toto va a l'école" ?
Merci d'avance
J'ai essayé plusieurs syntaxes ( $A != 'a' ...$A ! 'a' ... )
mais aucune ne marche ...
Donc pas de blindage pour le moment ...
Sinon j'ai une deuxieme question :
Comment faire pour creer , dans un script shell , un fichier dans lequel on ecrira "toto va a l'école" ?
Merci d'avance
tarikbenn
Messages postés
110
Date d'inscription
jeudi 13 juillet 2006
Statut
Membre
Dernière intervention
27 juin 2007
1
28 sept. 2006 à 13:56
28 sept. 2006 à 13:56
Le script qui répond à ma première question est le suivant :
#!/usr/bin/ksh
unset A
while $A != 'a' && $A != 'z'
do
echo "A?"
read A
done
Mais je n'ai pas celui qui répond à ma deuxième question :
Comment faire pour creer , dans un script shell , un fichier dans lequel on ecrira "toto va a l'école" ?
Merci d'avance :)
#!/usr/bin/ksh
unset A
while $A != 'a' && $A != 'z'
do
echo "A?"
read A
done
Mais je n'ai pas celui qui répond à ma deuxième question :
Comment faire pour creer , dans un script shell , un fichier dans lequel on ecrira "toto va a l'école" ?
Merci d'avance :)
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 569
28 sept. 2006 à 14:01
28 sept. 2006 à 14:01
#!/bin/bash echo "toto va à l'école?" > fichier
essaye -ne au lieu de !=
lami20j
tarikbenn
Messages postés
110
Date d'inscription
jeudi 13 juillet 2006
Statut
Membre
Dernière intervention
27 juin 2007
1
28 sept. 2006 à 15:19
28 sept. 2006 à 15:19
#!/bin/bash
echo "toto va à l'école?" > fichier
Cette technique marche , mais elle ne marche plus dès que le nombre de commande augmente. Comment faire par exemple pour envoyer a un fichier :
"titi va a l'ecole"
"toto est a la maison"
"tata ne fait rien"
merci
echo "toto va à l'école?" > fichier
Cette technique marche , mais elle ne marche plus dès que le nombre de commande augmente. Comment faire par exemple pour envoyer a un fichier :
"titi va a l'ecole"
"toto est a la maison"
"tata ne fait rien"
merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
>
tarikbenn
Messages postés
110
Date d'inscription
jeudi 13 juillet 2006
Statut
Membre
Dernière intervention
27 juin 2007
28 sept. 2006 à 15:25
28 sept. 2006 à 15:25
Re-
echo "titi va a l'ecole" >> fichier
echo "toto est a la maison" >> fichier
echo "tata ne fait rien" >> fichier
Le double chevron ajoute au fichier (alors que le simple écrase).
;-))
echo "titi va a l'ecole" >> fichier
echo "toto est a la maison" >> fichier
echo "tata ne fait rien" >> fichier
Le double chevron ajoute au fichier (alors que le simple écrase).
;-))
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 569
28 sept. 2006 à 15:43
28 sept. 2006 à 15:43
Re,
ou encore
Mais garde à l'esprit le double chevron :-)
lami20j
ou encore
echo -e "titi va a l'ecole\ntoto est a la maison\ntata ne fait rien" > fichier
Mais garde à l'esprit le double chevron :-)
lami20j
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
>
tarikbenn
Messages postés
110
Date d'inscription
jeudi 13 juillet 2006
Statut
Membre
Dernière intervention
27 juin 2007
28 sept. 2006 à 15:45
28 sept. 2006 à 15:45
En shell "ksh" (par rapport au shell bash), tu as aussi la possibilité de mettre un drapeau (noclobber) pour empêcher l'écrasement des fichiers en redirection (extrait du man ksh) :
> file standard output is redirected to file. If file does not exist, it is created; if it does exist, is a regular file and the noclobber option is set, an error occurs, otherwise the file is truncated. Note that this means the command cmd < foo > foo will open foo for reading and then truncate it when it opens it for writing, before cmd gets a chance to actually read foo. >| file same as >, except the file is truncated, even if the noclobber option is set. >> file same as >, except the file an existing file is appended to instead of being truncated. Also, the file is opened in append mode, so writes always go to the end of the file (see open(2)).;-))
tarikbenn
Messages postés
110
Date d'inscription
jeudi 13 juillet 2006
Statut
Membre
Dernière intervention
27 juin 2007
1
>
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
28 sept. 2006 à 16:09
28 sept. 2006 à 16:09
Merci les gars pour vos réponses !
Il me reste une dernière question avant la fin de la journée :
Comment, a partir d'un script shell, faire pour aller dans un fichier
qui contient les choses suivantes:
titi
toto
tata
titi
toto
tata
titi
aretertertzrgg/
QSdsfdsfqdf/
Qqsdqfdg/
et ajouter a la suite des lignes 8 , 9 et 10 les mots suivants: abc , def et gki.
Merci d'avance
Il me reste une dernière question avant la fin de la journée :
Comment, a partir d'un script shell, faire pour aller dans un fichier
qui contient les choses suivantes:
titi
toto
tata
titi
toto
tata
titi
aretertertzrgg/
QSdsfdsfqdf/
Qqsdqfdg/
et ajouter a la suite des lignes 8 , 9 et 10 les mots suivants: abc , def et gki.
Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
28 sept. 2006 à 14:07
28 sept. 2006 à 14:07
Salut,
J'étais en train de faire les tests et j'ai pondu le même script que le tien à quelques crochets prés ;-))
J'étais en train de faire les tests et j'ai pondu le même script que le tien à quelques crochets prés ;-))
echo "A?" read A while [ "$A" != "a" ] && [ "$A" != "z" ] do echo "A?" read A doneVoilou :-)
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 569
28 sept. 2006 à 19:13
28 sept. 2006 à 19:13
Re,
et si tu remplaces la ligne avec sed avec une ligne avec perl?!
et si tu remplaces la ligne avec sed avec une ligne avec perl?!
$ cat tarikkben.txt titi toto tata titi toto tata titi aretertertzrgg/ QSdsfdsfqdf/ Qqsdqfdg/ $ perl -pi.bak -e '8..8?s/(.*)/$1abc/:9..9?s/(.*)/$1def/:10..10?s/(.*)/$1ghi/:s/(.*)/$1/' tarikkben.txt $ cat tarikkben.txt titi toto tata titi toto tata titi aretertertzrgg/abc QSdsfdsfqdf/def Qqsdqfdg/ghi lami20j@debian:~/trash$lami20j