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 :

comment supprimer des lignes qui ne contiennent pas une chaine de caractère [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 14
    Points : 9
    Points
    9
    Par défaut comment supprimer des lignes qui ne contiennent pas une chaine de caractère
    Désolé pour le titre un peu long ...
    Je débute sous PowerShell et j'aimerai faire un petit truc tout simple mais je sèche un peu voici mon bout de code :
    Je l'ai commenté pour que cela soit parlant pour vous ...
    je traite un fichier texte et souhaite l'épurer en enlevant les lignes qui ne m’intéresse pas.

    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
    
    #première étape, obtenir tous les partages en brut de l'ordinateur TOTO et écriture sur le fichier test.txt final
    Get-WMIObject Win32_Share –Computer TOTO | format-list name | Out-File -filepath "C:\test.txt"
    #réouverture du fichier brut pour traiter les scoris ...
    #ici je supprime les lignes vides
    $content = Get-Content C:\test.txt | where { $_ -ne "$null" } |
    #ici je traite les remplacements 
    foreach { $_ -replace [RegEx]"\\","" } |
    foreach { $_ -replace "name : TATAOUINE","" } |
    foreach { $_ -replace "name :","" }
    # ici j'aimerai supprimer toutes les lignes qui ne contiennent pas la chaine de caractère "titi"
    
    
    #on refabrique le fichier txt épuré.
    Set-Content -Path C:\test.txt -Value $content

  2. #2
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 14
    Points : 9
    Points
    9
    Par défaut réponse par moi même
    Bon bein j'ai trouvé ...


    # sur la ligne suivante je ne garde que les lignes qui contiennent toto*
    $content2 = Get-Content \\gcsbl.net\netlogon\B-printersGDB.txt | where { $_ -like "*toto*" } |
    #on refabrique le fichier txt épuré.
    Set-Content -Path C:\test.txt -Value $content2

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

Discussions similaires

  1. Construire un objet qui n est pas une chaine de caractères
    Par adel25 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/11/2013, 11h57
  2. [XL-2003] supprimer des lignes qui ont les même valeurs
    Par Neptune64 dans le forum Excel
    Réponses: 1
    Dernier message: 09/08/2009, 01h30
  3. comment supprimer des lignes avec macros
    Par kadij dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/06/2009, 07h14
  4. Comment supprimer des lignes d'un fichier en fonction d'un autre fichier
    Par Ohemeg dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 21/04/2009, 14h56
  5. Réponses: 5
    Dernier message: 11/08/2008, 16h25

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