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 :

Regroupement de plusieurs lignes d'un fichier [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Juin 2021
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Juin 2021
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Regroupement de plusieurs lignes d'un fichier
    Bonjour à tous,

    Je cherche, si c'est possible en PowerShell, à regrouper plusieurs lignes qui concerne un même produit sur une même ligne et en supprimant les espaces entre les ; .Le fichier comporte des centaines de lignes
    Voici un exemple pour le code produit 1 :

    Fichier original :
    ERN1;1;fdf ;ffd; ; ; ; 14ggdfdfd; fgddgddgggdg;
    ERN2;1;dddd;ggggggg; ; ; ; ;1 ; 2 ;4
    ERN3;1; ; 14
    ERN4;1 ; 45

    Résultat attendu :
    ERN1;1;fdf;ffd;;;;14ggdfdfd;fgddgddgggdg;ERN2;1;dddd;ggggggg;;;;;1;2;4;ERN3;1;;14;ERN4;1;45

    La clé de regroupement est dans cet exemple le code produit 1
    je vous remercie par avance de votre aide
    Raidstorm14

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 183
    Points : 5 754
    Points
    5 754
    Par défaut
    Bonjour,

    Je te propose un petit jeu de pipe | pour me divertir

    - Je ne traite pas le fichier en tant que csv car sa structure se semble pas adaptée
    - J'ai supposé son format en UTF8
    - J'ai supposé que dans les lignes que tu souhaites concaténer le séparateur était le ;
    - L'id doit être en deuxième position
    - J'ai laissé un ; pour les fin de lignes dans la sortie. Le fichier se termine par un retour ligne
    - Aucun trie n'a été effectuée

    Fichier entrant old.txt, sortant new.txt

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Get-Content -LiteralPath "old.txt" -Encoding UTF8 |
    ForEach-Object {$_.Replace(" ", "")} |
    Group-Object @{Expression={$_.Split(";")[1]}} |
    ForEach-Object {($_.Group | ForEach-Object {$_.Trim(";") + ";"}) -join ";"} |
    Set-Content -LiteralPath "new.txt" -Encoding UTF8 -Force

  3. #3
    Membre à l'essai
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Juin 2021
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Juin 2021
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Merci beaucoup pour ce retour je vais essayer.

    Raidstorm14

  4. #4
    Membre à l'essai
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Juin 2021
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Juin 2021
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Merci ça fonctionne. Néanmoins, il faut que je vois autrement car j'ai un trop grand nombre de caractères sur un même Id et j'ai du coup deux lignes.

    Bonne soirée
    Raidstorm14

  5. #5
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 183
    Points : 5 754
    Points
    5 754
    Par défaut
    Comment ? Impossible ! 😋
    Es tu sur que ce n'est pas juste ton éditeur de texte qui fait du "word wrap" (retour a la ligne automatique) ?
    Sinon as tu un exemple de fichier a me transmettre ?

  6. #6
    Membre à l'essai
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Juin 2021
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Juin 2021
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Désolé, c'est bon. Du coup je l'ai ouvert avec Notepad++ et nickel.
    Merci pour ton aide.
    Raidstorm14

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

Discussions similaires

  1. extraire plusieures lignes d'un fichier
    Par win-pierre dans le forum C++
    Réponses: 7
    Dernier message: 22/05/2008, 17h43
  2. Regrouper données plusieurs ligne en une seule
    Par willytito dans le forum Access
    Réponses: 2
    Dernier message: 03/09/2007, 10h35
  3. écrire sur plusieurs lignes dans un fichier
    Par kenny49 dans le forum Langage
    Réponses: 3
    Dernier message: 06/04/2007, 11h47
  4. recupérer plusieurs ligne d'un fichier
    Par vince2005 dans le forum Langage
    Réponses: 6
    Dernier message: 27/07/2006, 10h50
  5. Réponses: 12
    Dernier message: 18/06/2006, 19h42

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