Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/10/2016, à 08:55

karamelo

[Résolu] manipulation fichier csv

Bonjour, petite question sur la manipulation de fichier csv.

J'ai 4 fichiers au format csv.
Dans le fichier 1 j'ai fait un premier tri passant de 132000 lignes à 4300.
La forme du fichier 1:

201500000062,0,1,0,0,2,8,1,B02
201500000092,0,1,0,0,2,3,13,B02
201500000093,0,1,0,0,2,1,0,B02
201500000097,0,1,0,0,2,8,1,B02
201500000102,0,1,0,0,2,4,2,B02
201500000110,0,1,0,0,0,8,2,B02
201500000120,1,1,0,0,1,0,0,A01
201500000190,0,1,0,0,0,4,0,B02
201500000209,0,1,0,0,2,1,1,B02
201500000218,0,1,0,0,2,1,17,B02
201500000246,0,1,0,1,0,1,1,A01
201500000248,0,1,0,0,2,8,17,B02
201500000259,0,1,0,0,2,4,1,B02
201500000263,0,1,0,0,2,1,1,B02
201500000303,0,1,0,0,2,1,19,B02
............................

Je souhaite récupérer la valeur de la colonne 1 (avec les lignes wink ) dans les autres fichiers et effacer les autres qui ne correspondent pas.
Une idée?
J'ai bien tenté avec sed mais bon s'apparente plus à un carnage.
Merci

Dernière modification par karamelo (Le 14/10/2016, à 10:20)

Hors ligne

#2 Le 14/10/2016, à 09:08

pingouinux

Re : [Résolu] manipulation fichier csv

Bonjour,
Peux-tu donner un petit exemple ?

Hors ligne

#3 Le 14/10/2016, à 09:18

karamelo

Re : [Résolu] manipulation fichier csv

Bonjour oui c'est pas très limpide tongue
Fichier qui servira de base

201500000062,0,1,0,0,2,8,1,B02
201500000092,0,1,0,0,2,3,13,B02
201500000093,0,1,0,0,2,1,0,B02
201500000097,0,1,0,0,2,8,1,B02
201500000102,0,1,0,0,2,4,2,B02
201500000110,0,1,0,0,0,8,2,B02
201500000120,1,1,0,0,1,0,0,A01
201500000190,0,1,0,0,0,4,0,B02
201500000209,0,1,0,0,2,1,1,B02
201500000218,0,1,0,0,2,1,17,B02
201500000246,0,1,0,1,0,1,1,A01
201500000248,0,1,0,0,2,8,17,B02
201500000259,0,1,0,0,2,4,1,B02

Les autres ressemblent à ça :

201500000001,1,1,3,1,5,21,0,0,0,1986,A01
201500000001,1,1,1,1,5,11,0,0,0,1953,B02
201500000002,1,1,3,1,5,21,0,0,0,1999,A01
201500000002,1,1,1,2,5,11,0,0,0,1965,B02
201500000003,1,1,3,1,0,21,0,0,0,1998,B02
201500000003,1,1,1,1,1,11,0,0,0,1986,A01
201500000004,1,1,1,1,0,11,0,0,0,1980,A01
201500000004,1,1,3,1,0,21,0,0,0,1994,B02
201500000005,1,1,1,1,0,11,0,0,0,1953,A01
.......................
201500000092,1,1,1,1,1,11,0,0,0,1992,A01
 ................

Par exemple je cherche à isolé la valeur 201500000092 (et accessoirement les autres) dans les 3 autres fichiers et virer les valeurs des autres fichier qui ne corresponde pas au valeur du fichier 1 colonne 1.
Je doute que ce soit plus clair ....

Dernière modification par karamelo (Le 14/10/2016, à 09:19)

Hors ligne

#4 Le 14/10/2016, à 09:24

pires57

Re : [Résolu] manipulation fichier csv

Salut,

Montre ton fichier source (déjà fait) et le résultat que tu souhaite obtenir.
ce sera bien plus simple.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#5 Le 14/10/2016, à 09:29

pingouinux

Re : [Résolu] manipulation fichier csv

Tu ne touches pas au fichier 1, et tu vires dans les fichiers 2, 3, et 4 les lignes dont le premier champ ne figure pas dans le fichier 1.
Ai-je bien compris ?

Ajouté : Si oui

cut -d, -f1 fichier_1 | sed 's/^/^/;s/$/,/' > colonne_1
grep fichier_2 -f colonne_1 >fichier_2_modifie
grep fichier_3 -f colonne_1 >fichier_3_modifie
grep fichier_4 -f colonne_1 >fichier_4_modifie

Dernière modification par pingouinux (Le 14/10/2016, à 09:51)

Hors ligne

#6 Le 14/10/2016, à 10:20

karamelo

Re : [Résolu] manipulation fichier csv

Magique, simple et efficace merci @pingouinux

Hors ligne