#!/bin/bash # Chemin vers le fichier contenant le header de licence HEADER_FILE="license_header.xml.txt" # Vérifie si le fichier contenant le header existe if [[ ! -f "$HEADER_FILE" ]]; then echo "Le fichier $HEADER_FILE n'existe pas. Veuillez le créer avant d'exécuter ce script." exit 1 fi # Lit le contenu du header HEADER_CONTENT=$(<"$HEADER_FILE") # Ajoute le header après la ligne dans tous les fichiers .xsd, .config et .xml #find . -type f \( -name "*.xsd" -o -name "*.config" -o -name "*.xml" \) | while read -r FILE; do find . -type f \( -name "*.vbproj" \) | while read -r FILE; do echo "Ajout du header dans $FILE..." # Vérifie si le fichier commence par un BOM if head -c 3 "$FILE" | grep -q $'\xef\xbb\xbf'; then # Le fichier contient un BOM echo "Fichier avec BOM détecté : $FILE" tail -c +4 "$FILE" > "$FILE.tmp" # Supprime temporairement le BOM mv "$FILE.tmp" "$FILE" BOM_PRESENT=true else BOM_PRESENT=false fi # Insère le header après la ligne awk -v header="$HEADER_CONTENT" -v bom="$BOM_PRESENT" ' BEGIN { if (bom == "true") printf "\xef\xbb\xbf" } # Réinsère le BOM si nécessaire /^<\?xml/ { print; print header; next } # Insère le header après { print } ' "$FILE" > "$FILE.tmp" && mv "$FILE.tmp" "$FILE" done echo "Ajout du header terminé."