#!/bin/bash # Konfiguration INPUT_FILE=$1 OUTPUT_FILE=$2 SPACES_PER_LEVEL=4 LIST_INDENTATION=2 HEADER_LEVELS=3 # Tabs zu Leerzeichen konvertieren sed 's/\t/ /g' "$INPUT_FILE" > temp_processed.txt # Ausgabedatei leeren > "$OUTPUT_FILE" # Verarbeitung jeder Zeile while IFS= read -r line; do # Führende Leerzeichen ermitteln leading_spaces=${line%%[! ]*} total_spaces=${#leading_spaces} # Ebene berechnen level=$((total_spaces / SPACES_PER_LEVEL)) content="${line:total_spaces}" if (( level <= HEADER_LEVELS )); then # Überschriften formatieren hashtags=$(printf "%0.s#" $(seq 0 $level)) echo "${hashtags} ${content}" >> "$OUTPUT_FILE" else # Listen formatieren list_level=$((level - HEADER_LEVELS - 1)) indent=$(printf "%*s" $((LIST_INDENTATION * list_level)) "") echo "${indent}- ${content}" >> "$OUTPUT_FILE" fi done < temp_processed.txt # Temporäre Datei aufräumen rm temp_processed.txt