Accueil du site > Recherche > 2. Informatique > Fish ’n chips > Insérer des liens aux nœuds d’un fichier dot.svg

Insérer des liens aux nœuds d’un fichier dot.svg

shellscript

Insérer des liens aux noeuds d’un fichier svg généré par les commandes dot, neato, Graphiz ou fv-morphologie.

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

Frédéric Voisin | Plan du site | Suivre la vie du site RSS 2.0