Skip to content

Instantly share code, notes, and snippets.

@matthieu637
Last active March 26, 2018 12:20
Show Gist options
  • Save matthieu637/6c8704dc58f9fdc131106552d5d18b00 to your computer and use it in GitHub Desktop.
Save matthieu637/6c8704dc58f9fdc131106552d5d18b00 to your computer and use it in GitHub Desktop.
you have 2 csv for 2 differents years, you want to know who's new, stayed, leaved
##1) exporter les fichiers au format CSV
##2) extraire les numéros d'identification avec :
tail -n +2 2017.csv | cut -d',' -f 1 > id_2017
#tail -n +2 permet d'enlever la première ligne du fichier (souvent des titres de colonnes)
#cut -f1 permet de choisir la colonne où se trouve les identifiants
##3) vérifier (visualiser) que id_2017 contient bien les identifiants voulus
#cat id_2017
##4) répéter l'opération pour l'année 2018
tail -n +2 2018.csv | cut -d',' -f 1 > id_2018
##5) afficher les ID des gens qui sont restés
grep -Ff id_2017 id_2018
-->
456687
456987
789654
##6) afficher les ID des nouveaux
grep -Fvf id_2017 id_2018
-->
654894
8795412
##7) afficher les ID des gens qui sont parties
grep -Fvf id_2018 id_2017
-->
4568778
##8) Pour récupérer toutes les columes des restés, il suffit de rechercher les ID dans le fichier csv :
grep -Ff id_2017 id_2018 | xargs -I % grep % 2018.csv
-->
456687,A,B
456987,R,T
789654,T,R
##8) Pour récupérer toutes les columes des nouveaux, il suffit de rechercher les ID dans le fichier csv :
grep -Fvf id_2017 id_2018 | xargs -I % grep % 2018.csv
-->
654894,T,QQ
8795412,T,C
##9) Pour récupérer toutes les columes des parties, il suffit de rechercher les ID dans le fichier csv :
grep -Fvf id_2018 id_2017 | xargs -I % grep % 2017.csv
-->
4568778,E,R
##10) DEVRAIS ETRE FAIT AU TOUT DEBUT (SUPPRESION DOUBLON) DANS LES 2 FICHIERS
tail -n +2 2018.csv | cut -d',' -f 1 | sort | uniq -c
-->
1 456687
1 456987
1 654894
1 789654
1 8795412
#pas de doublon ici
#Si on prend le fichier
Numéro,Nom,Prénom
789654,T,R
456987,R,T
8795412,T,C
456687,A,B
654894,T,QQ
8795412,T,Cab
tail -n +2 2018.csv | cut -d',' -f 1 | sort | uniq -c
-->
1 456687
1 456987
1 654894
1 789654
2 8795412
#l'id 8795412 est un doublon (trouvé 2 fois)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment