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

Shell et commandes GNU Discussion :

Supprimer une ligne dans plusieurs fichiers


Sujet :

Shell et commandes GNU

  1. #1
    Membre actif
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Novembre 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2013
    Messages : 120
    Points : 293
    Points
    293
    Par défaut Supprimer une ligne dans plusieurs fichiers
    Hello le forum,

    J'ai un petit problème pour réaliser un script. Le principe est de demander à l'utilisateur de rentrer le nom de domaine d'un site et de pouvoir supprimer cette ligne dans les fichiers (a savoir que les fichiers sont des fichiers de dossiers de dossiers(ce sont les blacklists de l'université de Toulouse, si ça peut vous aidez à visualiser l'arborescence)).

    Le problème est que le site peut être répertorié dans plusieurs catégories et donc dans plusieurs fichiers distincts. Je cherche donc à faire un script me permettant de vérifier tous les fichiers pour trouver les lignes correspondantes et les supprimer, pour le moment je bloque sur la recherche dans tous les fichiers. Si quelqu'un peut me mettre sur la bonne voie .

    Distribution : Raspbian

    Merci pour vos réponses.

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    Bonjour,

    pour le développement des chemins:
    quel est l'interpréteur de commandes ?
    quelle sa version ?

    la transformation/suppression sera, elle, réalisée avec sed.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    Bonjour,

    Il est important de bien caractériser la ligne que tu veux supprimer (son format, son contexte, ...) car sed serait susceptible de supprimer des lignes que tu veux garder.

    Pense, par exemple, aux chaines contenues dans une chaine.
    Si tu veux supprimer 'Bad' mais continuer à blacklister 'IsNotBadAtAll', tu pourrais avoir un soucis car la ligne contient 'Bad'.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  4. #4
    Membre actif
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Novembre 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2013
    Messages : 120
    Points : 293
    Points
    293
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    Bonjour,

    pour le développement des chemins:
    quel est l'interpréteur de commandes ?
    quelle sa version ?

    la transformation/suppression sera, elle, réalisée avec sed.
    Y a une commande pour obtenir cette information ?

    Citation Envoyé par Flodelarab
    Il est important de bien caractériser la ligne que tu veux supprimer (son format, son contexte, ...) car sed serait susceptible de supprimer des lignes que tu veux garder.

    Pense, par exemple, aux chaines contenues dans une chaine.
    Si tu veux supprimer 'Bad' mais continuer à blacklister 'IsNotBadAtAll', tu pourrais avoir un soucis car la ligne contient 'Bad'.
    Oui j'en suis bien conscient, mais y doit y avoir une option sur Sed pour pouvoir prendre en compte qu'une chaine de caractère strict, non ?

  5. #5
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    Bien sûr. Mais plus tu sera précis dans cette "chaîne stricte" moins tu auras de mauvaise surprise.

    Pour les infos sur sed:
    ou ou l'un des multiples tutoriels sur internet.

    Pour les infos sur les chaînes, il faut te renseigner sur les regex (regular expressions ou expressions régulières)

    Enfin, tu peux poser un cas concret de transformation ici. Nous te répondrons.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

Discussions similaires

  1. Supprimer une ligne dans un fichier texte
    Par @yoyo dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 28/03/2006, 14h19
  2. Supprime une ligne dans un fichier texte
    Par dev7 dans le forum Linux
    Réponses: 4
    Dernier message: 28/03/2006, 01h33
  3. Supprimer une ligne dans un fichier text
    Par philippe13 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 14/03/2006, 16h43
  4. Supprimer une ligne dans un fichier
    Par tsing dans le forum Linux
    Réponses: 4
    Dernier message: 06/02/2006, 14h45
  5. Supprimer une ligne dans un fichier
    Par sbeu dans le forum Langage
    Réponses: 3
    Dernier message: 13/05/2003, 10h30

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