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 les lignes dont la valeur du deuxième champ est égale à 13


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 40
    Points : 30
    Points
    30
    Par défaut Supprimer les lignes dont la valeur du deuxième champ est égale à 13
    Bonjour,
    j'espère que vous allez tous très bien chères membres,
    je vais vous expliquer ma situation
    j'ai un document texte qui contient des lignes et des champs qui sont séparer par un ; (point_virgule). mon problème c'est que je veux supprimer les lignes qui ont comme deuxième champs la valeur 13. c'est a dire tous les lignes ou on trouve le deuxième champs egal à 13 doit etre supprimé.
    voilà l'exmple de mon fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    5457az36;13;20;0;37hjjssk50;0;726552;0
    56565GK;17;20;0;37kjnkjss0;0;288272;0
    KJHG98h;17;20;0;3kjdkds;0;27772;0
    54426625G;13;20;0;3kjkjkj250;0;288837;0
    HGFHZJZ3;13;20;0;37ukuezz50;0;28772;0
    merci pour votre aide :-)

  2. #2
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 320
    Points : 12 878
    Points
    12 878
    Par défaut
    bonjour,

    Voici l'expression régulière pour trouver ton 2éme champs à 13:
    Je te laisse voir pour LA commande à utiliser...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 40
    Points : 30
    Points
    30
    Par défaut
    merci disedorgue pour votre réponse,

    si vous pouvez encore mieux m'aider, parce que, au niveau du shell ou awk je trouve des difficultés

    merci beaucoup :-)

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 123
    Points : 28 537
    Points
    28 537
    Par défaut
    Tu devrais pouvoir faire ça avec une petite ligne de awk

  5. #5
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 320
    Points : 12 878
    Points
    12 878
    Par défaut
    Euh, awk, c'est un peu trop, juse grep est suffisant (avec l'option -v et la regex donnée plus haut).
    Et sinon, sed, si on veut modifier le fichier à la volé.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 40
    Points : 30
    Points
    30
    Par défaut
    BOnjour,

    Vraiment je vous remercie trooop Monsieur disedorgue et toi aussi al1_24,

    cette commande marche bien!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    grep -v '^[^;]*;13;'
    merci a vous!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/09/2013, 19h30
  2. Réponses: 4
    Dernier message: 24/01/2013, 15h57
  3. Réponses: 3
    Dernier message: 25/12/2009, 10h29
  4. Réponses: 2
    Dernier message: 27/02/2008, 19h45
  5. [SQL] ligne dont la valeur d'un champ est unique
    Par kopofb dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/11/2005, 21h53

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