buddylistgrapher
diff graph_sed.sh @ 9:79af6ba23e46
rename
author | meillo@marmaro.de |
---|---|
date | Sat, 09 Jun 2007 00:13:00 +0200 |
parents | graph3.sh@e34b27b544b5 |
children | 3af263aed951 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/graph_sed.sh Sat Jun 09 00:13:00 2007 +0200 1.3 @@ -0,0 +1,82 @@ 1.4 +#!/bin/bash 1.5 +# 1.6 +# Autor: markus schnalke (prog.marmaro.de) 1.7 +# Autor: Julian Forster (www.ProgMaschine.de.vu) 1.8 +# 1.9 + 1.10 + 1.11 +if [ $# -eq 1 ]; then 1.12 + if [ $1 = '--version' ] ; then 1.13 + echo 'Buddylistgrapher (sed)' 1.14 + echo '======================' 1.15 + echo 'version 0.1' 1.16 + echo 1.17 + echo 'by Julian Forster (http://progmaschine.de.vu)' 1.18 + echo 'and Markus Schnalke (http://prog.marmaro.de)' 1.19 + exit 0 1.20 + elif [ $1 = '--help' ] ; then 1.21 + echo 'Buddylistgrapher (sed)' 1.22 + echo '======================' 1.23 + echo 1.24 + echo "usage: $0 <input.txt>" 1.25 + echo 1.26 + echo "The grapher generates output to stdout." 1.27 + echo "This output is the input for the graphviz tools." 1.28 + echo 1.29 + echo "You can use it like this:" 1.30 + echo "$0 input.txt | dot -Tpng > pic.png" 1.31 + echo 1.32 + echo "ToDo:" 1.33 + echo "The program was written for one specific kind of input data," 1.34 + echo "so there is still some work to do to use it for general input." 1.35 + exit 0 1.36 + else 1.37 + 1.38 + file=/tmp/`basename $0`-$$ 1.39 + file2=/tmp/`basename $0`-$$-2 1.40 + 1.41 +# # collect all profil names (we only want them as nodes) 1.42 +# cat $file | while read line ; do 1.43 +# echo -n "`echo $line | grep "Profil von:" | awk '{print " " $3 " "}'`" >> $file2 1.44 +# done 1.45 +# echo >> $file2 1.46 + 1.47 + 1.48 +# TODO: fetch only edges for people having a profile 1.49 + 1.50 + # output 1.51 + 1.52 + sed -n -e ' 1.53 + /^Profil/{ 1.54 + s/Profil von: \(.\+\)/"\1";/ 1.55 + w /tmp/aa 1.56 + s/;$// 1.57 + h 1.58 + #p 1.59 + } 1.60 + 1.61 + 1.62 + /^Nachricht/{ 1.63 + G 1.64 + s/ - [-0-9]\+// 1.65 + s/Nachricht schreiben \(.\+\)\n/"\1" / 1.66 + s/"\(.\+\)" "\(.\+\)"/ "\2" -> "\1";/ 1.67 + 1.68 + # write out 1.69 + #p 1.70 + w /tmp/bb 1.71 + } 1.72 + ' $1 1.73 + 1.74 + echo "digraph G {" 1.75 + grep -f /tmp/aa /tmp/bb 1.76 + echo "}" 1.77 + 1.78 +# rm $file $file2 1.79 + exit 0 1.80 + 1.81 + fi 1.82 +else 1.83 + echo "usage: $0 <input.txt>" 1.84 + exit 1 1.85 +fi