Fusionner des lignes

[Résolu/Fermé]
Signaler
-
 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

Messages postés
18267
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
25 septembre 2021
5 376
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;;;;;;;;;;;;
hello dubcek,

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

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

Au plaisir