hab mir da mal kurz ein kleines script überlegt ... (und bitte nicht den stil kritisieren, ist nicht unbedingt meine stärke mit sed ...) (verbesserungen (vereinfachungen) werden gerne angenommen)
es extrahiert aus der tex-datei (als parameter des scripts) alle hypertargets und alle hyperlinks, schreibt diese jeweils in ne datei (geht sicher auch ohne datei) und vergelicht dann die links mit den targets. schlußendlich kommt eine liste von links heraus, die kein passendes target haben
Code:
#!/bin/sh
cat $1 | grep "\hypertarget" | sed -e 's/.*\\hypertarget{\(.*\)}.*/\1/'| sed -e 's/\(.*\)}.*/\1/' > targets.txt
cat $1 | grep "\hyperlink" | sed -e 's/.*\\hyperlink{\(.*\)}.*/\1/'| sed -e 's/\(.*\)}.*/\1/' > links.txt
awk '{system("a=`grep -c -s "$1" targets.txt`; if test $a -eq 0; then echo "$1";fi")}' links.txt
sicher noch verbesserungswürdig (mehrfacheinträge, usw). und vorallem mein sed-awk-bash-mix :-)
moe
Lesezeichen