#!/bin/bash OUTPUT_FILE="sprueche.txt" HEADER_FILE="sprueche.h" # Optional: Datei vor dem Lauf leeren, damit wir genau 200 frische Sprüche haben. # (Wenn du über mehrere Durchläufe hinweg sammeln willst, entferne diese Zeile) > "$OUTPUT_FILE" echo "Sammle 200 formatierte Sprüche..." for i in {1..200}; do # 1. fortune ausführen # 2. sed für die Ersetzungen nutzen # 3. awk für die Zeilenumbrüche und das finale \n nutzen fortune | sed \ -e ':a' -e 's/^\(\( \)*\) /\1\ /' -e 'ta' \ -e ':b' -e 's/ \(\( \)*--\)/\ \1/' -e 'tb' \ -e 's/\*\([^*][^*]*\)\*/\1<\/b>/g' \ -e 's/_\([^_][^_]*\)_/\1<\/i>/g' | \ awk '{printf "%s%s", NR==1 ? "" : "
", $0} END {print ""}' >> "$OUTPUT_FILE" done echo "Durchsuche nach Duplikaten und entferne diese..." # awk behält hier nur die Zeilen, die es noch nicht gesehen hat (!seen) awk '!seen[$0]++' "$OUTPUT_FILE" > "${OUTPUT_FILE}.tmp" && mv "${OUTPUT_FILE}.tmp" "$OUTPUT_FILE" echo "Konvertiere in C-Header-Datei..." # Die umgewandelte Datei als C-Header exportieren xxd -i "$OUTPUT_FILE" > "$HEADER_FILE" echo "Erfolgreich beendet!" echo "-> $OUTPUT_FILE (Textdatei)" echo "-> $HEADER_FILE (C-Header)"