Menu

Traitement fichier avec SED, AWK ou autre. [Résolu]

pcsystemd 536 Messages postés dimanche 27 novembre 2005Date d'inscription 17 mai 2018 Dernière intervention - 24 nov. 2017 à 10:47 - Dernière réponse :  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.
Afficher la suite 

Votre réponse

2 réponses

dubcek 17417 Messages postés lundi 15 janvier 2007Date d'inscriptionContributeurStatut 22 mai 2018 Dernière intervention - 24 nov. 2017 à 12:20
+2
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de dubcek
pcsystemd - 27 nov. 2017 à 08:18
0
Utile
Merci beaucoup dubcek.
Commenter la réponse de pcsystemd