Hi, Danke Euch!
tobos Vorschlag habe ich umgesetzt, er funktioniert. Nochmals kurz zu meinem Verständnis:
a) Die Ersetzung im Loop ist klar.
b) -r brauche ich für den Einsatz der extendedRegEx damit das + (für mindestens einmaligen Vorkommens des vorhergehenden Zeichens) funktioniert?
c) ich habe keinen Einfluss darauf, wo in der Zeile das Label gesetzt wird? Das Label markiert nur die Zeile? Die Doku schweigt hierzu - oder ich habe sie nicht kappiert...
d) Ich konnte keine Zeilen adressieren vor dem Label setzen, SED meldet:
»:« erwartet keine Adressen.
Ist aber kein Problem, das Script arbeitet!
Meillos Vorschlag funktioniert ebenfalls, alles klar damit; das Leerzeichen vor dem Get ' G' brauche ich aber offensichtlich nicht, es stört aber auch nicht.
Beide Lösungen konnte ich nachvollziehen, das war wieder etwas für die eingerosteten Gehirnwindungen ...
https://de.wikipedia.org/wiki/Brainfuck
Ursprünglich wollte ich nur in einem Github-Wiki
https://github.com/gnab/remark/wiki lesen --- dann das zur Offline-Nutzung downloaden --- dann nur noch mit Pandoc in HTML übersetzen --- und dann war dort keine index.html zur Navigation vorhanden, sondern nur eine völlig unbrauchbare _Sidebar.md. Jetzt habe ich ein Quick-and-Dirty-Script, welches mir das Github-Wiki in ein HTML-Wiki übersetzt. Brauche ich vermutlich nie wieder, aber
ich habe viel über SED gelernt! Danke Euch!
Hier der Code - ich habe ihn allerdings nicht mit anderen Github-Wikis getestet
Code: Alles auswählen
#!/bin/bash
# gitwiki2html.sh
# macht aus einem Github.md-Wiki md ein HTML-Wiki
# Script im Wiki-Verzeichnis mit den md-Dateien starten
htmldir=${PWD##*/}.html
mkdir ${htmldir}
for file in *.md
do
pandoc -f markdown_github -t html5 -s -o ${htmldir}/${file}.html ${file}
done
mv ${htmldir}/_Sidebar.md.html ${htmldir}/index.html
sed -i '/<li>\[\[.*|.*#.*\]\]<\/li>/s/<li>\[\[\(.*\)|\(.*\)#\(.*\)\]\]<\/li>/<li><a href="\2.md.html#\3">\1<\/a><\/li>/' ${htmldir}/index.html
sed -i '/<li>\[\[.*\]\]<\/li>/s/<li>\[\[\(.*\)\]\]<\/li>/<li><a href="\1.md.html">\1<\/a><\/li>/' ${htmldir}/index.html
sed -i '/<li>\[\[.*|.*#.*\]\]/s/<li>\[\[\(.*\)|\(.*\)#\(.*\)\]\]/<li><a href="\2.md.html#\3">\1<\/a>/' ${htmldir}/index.html
sed -i -r ':LABEL;s/(href="[^ "]*) +/\1-/;t LABEL' ${htmldir}/index.html
# funktioniert ebenfalls
# sed -i '/href=/{h;s,.*href=",,;s,".*,,;s, ,-,g;G;s,\(.*\)\n\(.*href="\)[^"]*\(.*\),\2\1\3,;}' ${htmldir}/index.html