#!/bin/bash
# ajouter des liens a des noeuds d'un fichier svg issu des commandes dot
# (webdot, Graphviz) et/ou graph>dot (fv-morphologie)
# FV, 2011
svgfile=$1
linksfile=$2
while read nodelink
do
node=`echo $nodelink |awk '{print $1}'`
link=`echo $nodelink |awk '{print $2}'`
line=`sed -n '/node\"><title>\ '$node'</=' $svgfile `
# echo $line
i=`expr $line + 1`
cat $svgfile | sed -e ''$line' a\
<a xlink:href="'$link'">' -e ''$i' a\
</a>' > $svgfile-tmp
cp $svgfile-tmp $svgfile-tmp-tmp
mv $svgfile-tmp $svgfile
done < $linksfile
Commande :
./links2svg fichier.svg nodes-links
Le fichier svg est supposé issu des commandes dot ou neato (webdot- Graphviz) ou graph>dot de fv-morphologie.
Le fichier nodes-links contient pour chaque ligne le nom du noeud et le lien correspondant.
Ce script peutéventuellement être optimisé (pour svg ?) en consultant notamment webdot/hnodes.html.