Mercurial > buddylistgrapher
view graph3.sh @ 7:ccd2ab1bc9fd
rename; added hgignore
author | meillo@marmaro.de |
---|---|
date | Sat, 09 Jun 2007 00:07:04 +0200 |
parents | e34b27b544b5 |
children |
line wrap: on
line source
#!/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 <input.txt>" 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 sed -n -e ' /^Profil/{ s/Profil von: \(.\+\)/"\1";/ w /tmp/aa s/;$// h #p } /^Nachricht/{ G s/ - [-0-9]\+// s/Nachricht schreiben \(.\+\)\n/"\1" / s/"\(.\+\)" "\(.\+\)"/ "\2" -> "\1";/ # write out #p w /tmp/bb } ' $1 echo "digraph G {" grep -f /tmp/aa /tmp/bb echo "}" # rm $file $file2 exit 0 fi else echo "usage: $0 <input.txt>" exit 1 fi