shell-scripte-code/convert_to_markdown.sh
2025-02-13 17:59:21 +01:00

33 lines
815 B
Bash
Executable file

#!/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