Traitement fichier avec SED, AWK ou autre.

Résolu
pcsystemd Messages postés 734 Statut Membre -  
 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 19021 Statut Contributeur 5 639
 
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