Script commande SED

cris69124 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -  
-----geo----- Messages postés 333 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, dans le cadre de mon BTS, je dois réaliser un script avec la commande sed:
Je dois d'abord insérer la configuration du named.conf.local de bind
zone "mondomaine.com"
type master;
file "etc/bind/mondomaine.com.zone";
forwarders{};
};

Et je dois ensuite réaliser une commande permettant de demander a l'utilisateur le nom du domaine puis que ce nouveau nom remplace "mondomaine.com"

Hors je ne suis pas très programmation et j'ai beau chercher je ne trouve pas..
Si vous avez une solution à me proposer je prends.

Merci

A voir également:

2 réponses

mamiemando Messages postés 33774 Date d'inscription   Statut Modérateur Dernière intervention   7 883
 
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
0
-----geo----- Messages postés 333 Date d'inscription   Statut Membre Dernière intervention   59
 
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:

#/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
0