Traitement fichier avec SED, AWK ou autre.

Résolu/Fermé
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 - Modifié le 24 nov. 2017 à 10:50
 pcsystemd - 27 nov. 2017 à 08:18
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
24 nov. 2017 à 12:20
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
Merci beaucoup dubcek.
0