Script commande SED
Fermé
cris69124
Messages postés
32
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
21 juin 2012
-
21 juin 2012 à 09:34
-----geo----- Messages postés 333 Date d'inscription jeudi 7 juin 2012 Statut Membre Dernière intervention 29 mai 2014 - 22 juin 2012 à 11:23
-----geo----- Messages postés 333 Date d'inscription jeudi 7 juin 2012 Statut Membre Dernière intervention 29 mai 2014 - 22 juin 2012 à 11:23
A voir également:
- Script commande SED
- Invite de commande - Guide
- Script vidéo youtube - Guide
- Commande terminal mac - Guide
- Commande dism - Guide
- Diskpart commande - Guide
2 réponses
mamiemando
Messages postés
33377
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
25 novembre 2024
7 802
21 juin 2012 à 10:07
21 juin 2012 à 10:07
sed est principalement fait pour faire des substitutions, donc je doute que tu puisses t'en sortir (facilement) avec juste sed.
Le mieux ce serait de te familiariser avec un langage de script (par exemple un langage shell comme bash puisque tu sembles vouloir utiliser sed) et partir de là.
Bonne chance
Le mieux ce serait de te familiariser avec un langage de script (par exemple un langage shell comme bash puisque tu sembles vouloir utiliser sed) et partir de là.
Bonne chance
-----geo-----
Messages postés
333
Date d'inscription
jeudi 7 juin 2012
Statut
Membre
Dernière intervention
29 mai 2014
58
Modifié par mamiemando le 22/06/2012 à 19:51
Modifié par mamiemando le 22/06/2012 à 19:51
Je n'ai pas très bien compris ta demande moi je suis en BTS SIO et j'ai fait un script il n'y a pas longtemps donc inspire-t'en si tu veux. Je l'ai remixé pour t'aider parce qu'à la base il faisait 700 lignes donc si c'est ça que tu cherches tant mieux, sinon dis-moi ^^' Voilà à quoi je pense:
Teste-le c'est pour remplacer les lignes dans un fichier si j'ai bien compris. Après tu peux changer avec tondomaine.com
#/bin/sh shopt -s extglob fich=fichier-test echo -n "Veuillez entrer un mot: " read mot while [[ "$mot" != +([a-zA-Z]) ]] do echo "Champs incorrect" echo -n "Veuillez enter un mot: " read mot done if [ -f $fich ] then if grep "$mot" $fich > /dev/null then echo "fin du script" exit 0 else echo "$mot" >> $fich fi else echo "$mot" > $fich fi echo "Le fichier contient: " nl -ba $fich echo echo -n "Voulez mettre un mot a jour [Y/n], Y=oui, n=non: " read rep while [ "$rep" != Y ] && [ "$rep" != y ] && [ "$rep" != N ] && [ "$rep" != n ] do echo "Saisie incorrect" echo -n "Mettre une ligne a jour ? [Y/n]: " read rep done if [ "$rep" = Y ] || [ "$rep" = y ];then echo echo -n "Saisissez le numero correspondant a la ligne que vous voulez mettre a jour: " read num while [[ "$num" != +([0-9]) ]] do echo "Saisie incorrect" echo -n "num de la ligne a mettre a jour: " read num done 2>/dev/null echo -n "Veuillez taper un nouveau mot: " read mot2 while [[ "$mot2" != +([a-zA-Z]) ]] do echo "Champs incorrect" echo -n "Veuillez enter un mot: " read mot2 done sed -i "${num}c$mot2" $fich else exit 0 fi exit 0
Teste-le c'est pour remplacer les lignes dans un fichier si j'ai bien compris. Après tu peux changer avec tondomaine.com