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

Scripts/Batch Discussion :

Filtrer une chaine de caractère sur le 6ème caractère


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 20
    Par défaut Filtrer une chaine de caractère sur le 6ème caractère
    Bonjour,

    Ca fait un petit moment que je cherche la possibilité de filtrer le contenu d'un fichier texte, en supprimant tous les lignes qui contiennent un I comme 6ème lettre du mot et conserver tous les autres mot


    Ex contenu fichier txt :

    IFBAGI01
    IGNAGI01
    IGNAGB01
    IFBAGM01

    J'ai tenté quelque chose du genre :

    for /f "tokens=1" %a in ('type c:\srv.txt ^|find /V "?????I*"') do @echo %a

    mais ca me retourne le conteu complet...

    Merci pour votre aide

  2. #2
    Membre confirmé Avatar de Array
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    210
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 210
    Par défaut
    Sous NT 4 et plus (i.e. win2k), cmd.exe supporte ceci:

    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
    @echo off
    
    set vector=
    
    SETLOCAL ENABLEDELAYEDEXPANSION
    
    for /f "tokens=1" %%i in ('type c:\srv.txt') do (
                             set isvalid=1
                             set vector=%%~i
                             for /f "tokens=1" %%h in ('echo !vector:~5!^|findstr "^I"') do set isvalid=0
                             if "!isvalid!"=="1" echo !vector!
    )
    
    SETLOCAL DISABLEDELAYEDEXPANSION
    Voilà {solution non testée}

  3. #3
    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,

    ou encore en utilisant les RegExp de findstr:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    findstr /V "^.....I" ton_fichier

  4. #4
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 20
    Par défaut
    Ca marche très bien ;-)

    Merci beaucoup pour votre aide

    @ +

    lfa

Discussions similaires

  1. Comment filtrer une chaine de caractère
    Par pierrot10 dans le forum jQuery
    Réponses: 6
    Dernier message: 24/02/2012, 14h23
  2. [RegEx] Filtrer une chaine de caractère
    Par JulienFio dans le forum Langage
    Réponses: 44
    Dernier message: 17/06/2009, 10h36
  3. Filtrer une chaine de caractères
    Par ledisciple dans le forum Langage
    Réponses: 12
    Dernier message: 21/08/2008, 17h02
  4. trier et filtrer une colonne d'un sur VBA-EXCEL
    Par la_rebelle dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 11/06/2008, 15h50
  5. Supprimer une chaine entre parenthese sur un select
    Par sebg42 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 26/06/2007, 19h07

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