#!/bin/bash INPUT_DIR="$1" OUTPUT_FILE="$2" if [ -z "$INPUT_DIR" ] || [ -z "$OUTPUT_FILE" ]; then echo "Usage: ./generate.sh " exit 1 fi if [ ! -d "$INPUT_DIR" ]; then echo "Invalid folder: $INPUT_DIR" exit 1 fi # Absoluten Pfad holen INPUT_DIR=$(cd "$INPUT_DIR" && pwd) # XML Header # echo '' > "$OUTPUT_FILE" echo '' >> "$OUTPUT_FILE" # Dateien durchlaufen find "$INPUT_DIR" -type f ! -name "*.txt" ! -name "*.xml" ! -name "*.DS_Store" | while read -r file; do # Key (relativer Pfad wie in S3) key="${file#$INPUT_DIR/}" # Dateigröße (macOS: stat -f%z) size=$(stat -f%z "$file") # LastModified im ISO-Format last_modified=$(date -u -r "$file" +"%Y-%m-%dT%H:%M:%S.000Z") # XML escapen (minimal) esc_key=$(printf '%s\n' "$key" | sed \ -e 's/&/\&/g' \ -e 's//\>/g' \ -e 's/"/\"/g' \ -e "s/'/\'/g") cat >> "$OUTPUT_FILE" < $esc_key $size $last_modified STANDARD EOF done echo '' >> "$OUTPUT_FILE" echo "XML file created: $OUTPUT_FILE"