33 lines
815 B
Bash
33 lines
815 B
Bash
#!/bin/bash
|
|
|
|
INPUT_FILE="input.txt"
|
|
OUTPUT_FILE="output.md"
|
|
|
|
# Tabs zu 4 Leerzeichen konvertieren OHNE andere Leerzeichen zu verändern
|
|
sed 's/\t/ /g' "$INPUT_FILE" > temp_processed.txt
|
|
|
|
# AWK-Verarbeitung mit exakter Ebenenerkennung
|
|
awk '
|
|
{
|
|
# Gesamtzahl der führenden Leerzeichen ermitteln
|
|
match($0, /^ */)
|
|
total_spaces = RLENGTH
|
|
|
|
# Ebene berechnen (1 Ebene = 4 Leerzeichen)
|
|
level = int(total_spaces / 4)
|
|
|
|
# Neue Einrückung generieren
|
|
indent = ""
|
|
for (i = 0; i < level; i++) {
|
|
indent = indent " "
|
|
}
|
|
|
|
# Zeile neu aufbauen
|
|
if (level > 0) {
|
|
# Original-Leerzeichen entfernen und durch MD-konforme ersetzen
|
|
$0 = indent "- " substr($0, total_spaces + 1)
|
|
}
|
|
print
|
|
}' temp_processed.txt > "$OUTPUT_FILE"
|
|
|
|
rm temp_processed.txt
|