Files
pharma-gestion/apply_license_to_xml.sh

40 lines
1.3 KiB
Bash
Executable File

#!/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 <?xml ... ?> 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 <?xml ... ?>
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 <?xml ... ?>
{ print }
' "$FILE" > "$FILE.tmp" && mv "$FILE.tmp" "$FILE"
done
echo "Ajout du header terminé."