#!/bin/bash # Variablen definieren INPUT_FILE=$1 OUTPUT_FILE=$2 SPACES_PER_LEVEL=4 LIST_INDENTATION=2 HEADER_LEVELS=3 sed 's/\t/ /g' "$INPUT_FILE" > temp_processed.txt awk -v spaces_per_level=$SPACES_PER_LEVEL -v list_indentation=$LIST_INDENTATION -v header_levels=$HEADER_LEVELS ' { match($0, /^ */) total_spaces = RLENGTH level = int(total_spaces / spaces_per_level) # Überschriften (bis zur angegebenen Ebene) if (level <= header_levels) { hashtags = "" for (i = 0; i <= level; i++) { hashtags = hashtags "#" } $0 = hashtags " " substr($0, total_spaces + 1) } # Listen (ab der nächsten Ebene) else { list_level = level - header_levels - 1 # Anpassung der Einrückung basierend auf LIST_INDENTATION adjusted_indent = "" for (i = 0; i < list_indentation * list_level; i++) { adjusted_indent = adjusted_indent " " } $0 = adjusted_indent "- " substr($0, total_spaces + 1) } print }' temp_processed.txt > "$OUTPUT_FILE" rm temp_processed.txt