Traitement fichier avec SED, AWK ou autre.

Résolu
pcsystemd Messages postés 702 Date d'inscription   Statut Membre Dernière intervention   -  
 pcsystemd -
Bonjour,

Mon fichier contient :

CHATEAU THIERRY              | 02400       | No     | Yes
CHATEAU THIERRY | 02400 | Yes | No

FONTENELLE EN BRIE | 02540 | Yes | No
MARCHAIS EN BRIE | 02540 | Yes | No
CHEZY SUR MARNE | 02570 | Yes | No
HARAMONT | 02600 | Yes | No
RETHEUIL | 02600 | Yes | No
VILLERS COTTERETS | 02600 | No | Yes
VILLERS COTTERETS | 02600 | Yes | No


Pour les lignes en doublon qui ont le même nom de ville et le même code postal, je souhaiterais supprimer une des lignes en doublon et pour celle qui reste, il faudrait ajouter Yes partout.

Exemple :

CHATEAU THIERRY | 02400 | Yes | Yes

FONTENELLE EN BRIE | 02540 | Yes | No
MARCHAIS EN BRIE | 02540 | Yes | No
CHEZY SUR MARNE | 02570 | Yes | No
HARAMONT | 02600 | Yes | No
RETHEUIL | 02600 | Yes | No
VILLERS COTTERETS | 02600 | Yes | Yes


C'est possible avec SED ou AWK ou autre?

Merci beaucoup



L'accès au savoir est la première liberté que chaque homme devrait avoir.
A voir également:

2 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
$ awk 'BEGIN {FS=OFS="|"} {$3="Yes     "} !t[$1, $2]++' fichier
CHATEAU THIERRY | 02400 |Yes | Yes
FONTENELLE EN BRIE | 02540 |Yes | No
MARCHAIS EN BRIE | 02540 |Yes | No
CHEZY SUR MARNE | 02570 |Yes | No
HARAMONT | 02600 |Yes | No
RETHEUIL | 02600 |Yes | No
VILLERS COTTERETS | 02600 |Yes | Yes
2
pcsystemd
 
Merci beaucoup dubcek.
0