#!/usr/bin/awk -f # generate_pages.awk # Usage: # awk -f generate_pages.awk etudiants.csv # # Input CSV format (separator ';'): # id;prenom;nom;email;groupe BEGIN { FS = ";" OFS = ";" outdir = "output" # Crée le dossier de sortie (si inexistant) system("mkdir -p " outdir) } # Skip empty lines NF == 0 { next } # Skip header line (case-insensitive on first field) NR == 1 { # Si la première colonne ressemble à "id", on saute l'entête f = tolower($1) if (f == "id") next } { id = $1 prenom = $2 nom = $3 email = $4 groupe = $5 # Normaliser un nom de fichier safe safe_prenom = prenom safe_nom = nom gsub(/[^A-Za-z0-9_-]/, "", safe_prenom) gsub(/[^A-Za-z0-9_-]/, "", safe_nom) filename = outdir "/" id "_" safe_prenom "_" safe_nom ".html" # Écriture du HTML print "" > filename print "" >> filename print "
" >> filename print " " >> filename print " " >> filename print "