Skip to content

Instantly share code, notes, and snippets.

@boogheta
Created March 22, 2018 10:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save boogheta/6ee2fe1024782aaf027a6aacfa0be707 to your computer and use it in GitHub Desktop.
Save boogheta/6ee2fe1024782aaf027a6aacfa0be707 to your computer and use it in GitHub Desktop.
Assemble csv lycées
# On lit les headers dans la première ligne des csv
headers=$(cat */*/*.csv | head -1)
# On réécrit les headers avec nos champs en plus dans le fichier final
echo "Lycee,classe,eleve,$headers" > all.csv
# On itère sur l'arborescence des dossiers et stocker les noms dans des variables
ls | grep Lycée | while read lycee; do
ls "$lycee" | while read classe; do
ls "$lycee/$classe" | grep ".csv$" | sed 's/\.csv$//' | while read eleve; do
cat "$lycee/$classe/$eleve.csv" | # on lit le contenu du csv
iconv -f "iso-8859-15" -t "utf-8" | # on fixe l'encodage
grep -v "^URL," | # on dégage les headers
sed "s/^/$lycee,$classe,$eleve,/" # on ajoute les champs en rab au début
done
done
done >> all.csv # on envoie tout ça dans le fichier agrégé
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment