IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

suppression des lignes d'un fichier en shell


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 78
    Par défaut suppression des lignes d'un fichier en shell
    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. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    grep est l'outil qu'il vous faut pour le premier cas

    Supprimer toutes les lignes commencant par dns :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -v "^dns" mon_fichier.txt > mon_nouveau_fichier.txt
    Supprimer plusieurs lignes d'un coup n'est pas possible avec grep. Il faut utiliser sed ou awk, mais je ne connais plus la syntaxe exacte.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 46
    Par défaut
    Bjr,
    Avec sed :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i '/^dns/d' fichier.txt
    pour l'autre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i '/exp2.dz/,/};/d' Data.txt
    Enlever l'option -i pour les tests

  4. #4
    Membre chevronné Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Par défaut
    J'aurais aussi pensé à cette solution, mais il faut vérifier que sed n'est pas greedy peut-être ?

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 660
    Par défaut
    allez, pour le fun (mais ça peut être risqué) :
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -si.bak '/^dns/d;/exp2.dz/,/^$/d' {exp,zone}.txt
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/04/2010, 11h34
  2. Extraire des lignes d'un fichier (shell unix)
    Par guicecal dans le forum Unix
    Réponses: 2
    Dernier message: 22/01/2010, 13h49
  3. Script de suppression des lignes d'un fichier Excel
    Par ninsekh dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 09/10/2008, 12h44
  4. Shell pour supprimer des lignes d'un fichier
    Par nelsa dans le forum Autres langages
    Réponses: 2
    Dernier message: 20/09/2004, 12h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo