Fusionner des lignes

Résolu
McFred -  
 McFred -
Bonjour,

Je cherche un moyen de fusionner des lignes en une seule sur ce principe en perl ou en shell

Mon fichier d'entrée:
DR1;;;;;;;;;;;X;X;X;X;X;;;;;;;;;;;
DR1;;;X;X;;;;;;;;;;;;;;;;;;;;;
DR1;;;;;;;;;;;;;;;;;;;;;X;X;X;;
DR2;;;;;;;;;;;;;;;;;;;;;;;;;
DR3;;;;;X;X;;;;;;;;;;;;;;;;X;X;X;
DR3;;;X;;;;;;X;X;X;;;;;;;;;;;;

et en sortie je voudrai
DR1;;;X;X;;;;;;X;X;X;X;X;;;;;;X;X;X;;
DR2;;;;;;;;;;;;;;;;;;;;;;;;;
DR3;;;X;;X;X;X;X;X;;;;;;;;;;X;X;X;

Merci pour votre aide

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    faut-il garder tous les ; ?
    awk 'BEGIN{FS=OFS=";"} {x=$1; $1=""; t[x]=t[x] $0}END{for(n in t)print n,t[n]}' fichier
    DR1;;;;;;;;;;;;X;X;X;X;X;;;;;;;;;;;;;;X;X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;X;X;X;;
    DR2;;;;;;;;;;;;;;;;;;;;;;;;;;
    DR3;;;;;;X;X;;;;;;;;;;;;;;;;X;X;X;;;;X;;;;;;X;X;X;;;;;;;;;;;;
    
    0
  2. McFred
     
    hello dubcek,

    Je te remercie pour ta réponse ! Nickel le awk .

    et oui, il faut que je garde les ";" .

    Au plaisir
    0