Les commandes shell

Résolu
salut

1- j'ai ce fichier exp.txt qui contient les lignes qui suivent:

www serveur_web type_enregistrement adresse_ip
dns serveur_dns type_enregistrement adresse_ip
mail serveur_messagerie type_enregistrement adresse_ip

je veux par exemple supprimer la ligne commençant par dns??

puis je le faire?

2- et j'ai un autre fichier zone.txt de cette forme:

zone "exp1.dz" in {
type master;
file "exp1.zone";
};

zone "exp2.dz" in {
type master;
file "exp2.zone";
};

ce que je veux c'est de supprimer une ensemble de lignes selon le nom du domaine introduit,par exemple je veux supprimer la zone exp2.dz, et aprés suppression j'aurai ce résultat:

le contenu de zone.txt est:

zone "exp1.dz" in {
type master;
file "exp1.zone";
};

est il possible de le réaliser?,

merci d'avance

2 réponses

  1. merci beaucoup pour l'aide
    0
    1. Modérateur
      Salut,

      Pour le 1 :

      $ cat fich1
      www serveur_web type_enregistrement adresse_ip
      dns serveur_dns type_enregistrement adresse_ip
      mail serveur_messagerie type_enregistrement adresse_ip
      
      $ sed -i '/^dns/d' fich1
      
      $ cat fich1
      www serveur_web type_enregistrement adresse_ip
      mail serveur_messagerie type_enregistrement adresse_ip
      
      $


      Pour le 2 :

      $ cat fich2
      zone "exp1.dz" in {                 
      type master;
      file "exp1.zone";
      };
      
      zone "exp2.dz" in {
      type master;
      file "exp2.zone";
      };
      
      $ sed -i '/exp2.dz/,/};/d' fich2
      
      $ cat fich2
      zone "exp1.dz" in {
      type master;
      file "exp1.zone";
      };
      
      
      $

      ;-))
      0