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 :

SED placement curseur nieme occurence


Sujet :

Linux

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 70
    Par défaut SED placement curseur nieme occurence
    Bonjour,

    J'ai un fichier avec des datas brutes dedans que je suis en train de parser.
    Ex test.txt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ...
    Titre
    blabla1
    ...
    Titre
    blabla2
    ...
    Titre
    blabla3
    ...
    Script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sed -ne '/Titre/,$p' < test.txt | sed -n 1,2p
    Mon script me retourne les deux 1eres lignes Titre et blabla1

    J'aimerais savoir s'il est possible d'ajouter un paramètre qui me permettrait de dire va directement a la deuxième occurrence de Titre ou a la troisième voir de faire tout d'un coup cad :
    Titre
    blabla1
    Titre
    Blabla2

    Cordialement,
    Nico.

  2. #2
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    salut,

    une chose du genre:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -ne '/Titre/{N;p}' < test.txt

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 70
    Par défaut
    Quelqu'un d'autre a une idée qui fonctionnerait ?

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 848
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Nicolas94 Voir le message
    Quelqu'un d'autre a une idée qui fonctionnerait ?
    Fichier d'origine:
    ...
    Titre
    blabla1
    ...
    Titre
    blabla2
    ...
    Titre
    blabla3
    ...
    moi@debian:~$ awk -vn=1 -vcible=Titre 'BEGIN {cpt=0} {if ($1 == cible) {cpt++; if (cpt == n) flag=1; next} if (flag == 1) {flag=0; print $1}}' test.txt
    blabla1
    moi@debian:~$ awk -vn=2 -vcible=Titre 'BEGIN {cpt=0} {if ($1 == cible) {cpt++; if (cpt == n) flag=1; next} if (flag == 1) {flag=0; print $1}}' test.txt
    blabla2
    moi@debian:~$ awk -vn=3 -vcible=Titre 'BEGIN {cpt=0} {if ($1 == cible) {cpt++; if (cpt == n) flag=1; next} if (flag == 1) {flag=0; print $1}}' test.txt
    blabla3
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 70
    Par défaut
    Merci pour vos retours.

    Je mets un autre code possible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    grep -A2 "Titre" test.txt
    Nico.

  6. #6
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    Citation Envoyé par Nicolas94 Voir le message
    Quelqu'un d'autre a une idée qui fonctionnerait ?
    gnu sed

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $ cat f
    ...
    Titre
    blabla1
    ...
    Titre
    blabla2
    ...
    Titre
    blabla3
    ... 
     
    $ sed -ne '/Titre/{N;p}' f
     
    Titre
    blabla1
    Titre
    Blabla2
    Titre
    blabla3

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

Discussions similaires

  1. ComboBox placement curseur
    Par Knightrider dans le forum Windows Forms
    Réponses: 1
    Dernier message: 31/08/2009, 11h57
  2. sed : première occurence seulement
    Par mbibim63 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 15/05/2009, 20h49
  3. Sed/Awk : suppression occurences sauf la première
    Par KneXtasY dans le forum Unix
    Réponses: 3
    Dernier message: 11/03/2009, 09h43
  4. Placement du curseur dans un fichier
    Par noakiss dans le forum Langage
    Réponses: 6
    Dernier message: 11/11/2008, 20h17
  5. Placement du curseur dans une scrollbar
    Par elsakapus dans le forum MFC
    Réponses: 3
    Dernier message: 20/02/2007, 21h15

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