# HG changeset patch # User meillo@marmaro.de # Date 1180386546 -7200 # Node ID b82703cc3dd47ebe8d3c450a328527209634a819 # Parent 6c327ae23d2cfd1edf7ac8208d600b4a6586b2bc added sed edition but still incomplete diff -r 6c327ae23d2c -r b82703cc3dd4 graph3.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/graph3.sh Mon May 28 23:09:06 2007 +0200 @@ -0,0 +1,79 @@ +#!/bin/bash +# +# Autor: markus schnalke (prog.marmaro.de) +# Autor: Julian Forster (www.ProgMaschine.de.vu) +# + + +if [ $# -eq 1 ]; then + if [ $1 = '--version' ] ; then + echo 'Buddylistgrapher (sed)' + echo '======================' + echo 'version 0.1' + echo + echo 'by Julian Forster (http://progmaschine.de.vu)' + echo 'and Markus Schnalke (http://prog.marmaro.de)' + exit 0 + elif [ $1 = '--help' ] ; then + echo 'Buddylistgrapher (sed)' + echo '======================' + echo + echo "usage: $0 " + echo + echo "The grapher generates output to stdout." + echo "This output is the input for the graphviz tools." + echo + echo "You can use it like this:" + echo "$0 input.txt | dot -Tpng > pic.png" + echo + echo "ToDo:" + echo "The program was written for one specific kind of input data," + echo "so there is still some work to do to use it for general input." + exit 0 + else + + file=/tmp/`basename $0`-$$ + file2=/tmp/`basename $0`-$$-2 + +# # collect all profil names (we only want them as nodes) +# cat $file | while read line ; do +# echo -n "`echo $line | grep "Profil von:" | awk '{print " " $3 " "}'`" >> $file2 +# done +# echo >> $file2 + + +# TODO: fetch only edges for people having a profile + + # output + echo "digraph G {" + + sed -n -e ' + /^Profil/{ + s/Profil von: \(.\+\)/"\1"/ + h + #p + } + + + /^Nachricht/{ + G + s/ - [-0-9]\+// + s/Nachricht schreiben \(.\+\)\n/"\1" / + s/"\(.\+\)" "\(.\+\)"/ "\2" -> "\1";/ + + # write out + p + } + ' $1 + + + echo "}" + +# rm $file $file2 + exit 0 + + fi +else + echo "usage: $0 " + exit 1 +fi