Script commande SED

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

2 réponses

  1. Modérateur
    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
    1. 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