annotate graph_sh.sh @ 16:dbaa8a943271 default tip

merge
author ju
date Thu, 05 Jul 2007 18:13:01 +0200
parents 9a85a9924834
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
1 #!/bin/bash
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
2 #
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
3 # Autor: Julian Forster (www.ProgMaschine.de.vu)
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
4 # Autor: markus schnalke (prog.marmaro.de)
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
5 #
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
6
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
7
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
8 if [ $# -eq 1 ]; then
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
9 if [ $1 = '--version' ] ; then
2
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
10 echo 'Buddylistgrapher (shell)'
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
11 echo '========================'
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
12 echo 'version 0.2'
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
13 echo
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
14 echo 'by Julian Forster (http://progmaschine.de.vu)'
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
15 echo 'and Markus Schnalke (http://prog.marmaro.de)'
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
16 exit 0
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
17 elif [ $1 = '--help' ] ; then
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
18 echo 'Buddylistgrapher (shell)'
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
19 echo '========================'
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
20 echo
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
21 echo "usage: $0 <input.txt>"
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
22 echo
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
23 echo "The grapher generates output to stdout."
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
24 echo "This output is the input for the graphviz tools."
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
25 echo
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
26 echo "You can use it like this:"
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
27 echo "$0 input.txt | dot -Tpng > pic.png"
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
28 echo
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
29 echo "ToDo:"
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
30 echo "The program was written for one specific kind of input data,"
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
31 echo "so there is still some work to do to use it for general input."
0
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
32 exit 0
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
33 else
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
34
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
35 file=/tmp/`basename $0`-$$
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
36 file2=/tmp/`basename $0`-$$-2
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
37
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
38 # extract all needed lines
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
39 grep -e "Profil von:" -e "Nachricht schreiben" $1 > $file
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
40
2
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
41
0
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
42 # collect all profil names (we only want them as nodes)
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
43 cat $file | while read line ; do
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
44 echo -n "`echo $line | grep "Profil von:" | awk '{print " " $3 " "}'`" >> $file2
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
45 done
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
46 echo >> $file2
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
47
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
48
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
49 # output
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
50 echo "digraph G {"
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
51
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
52 cat $file | while read line ; do
2
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
53 if [ -n "`echo $line | grep "Profil von:"`" ] ; then
0
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
54 name=$(echo $line | awk '{ print $3 }')
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
55 else
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
56 buddy=$(echo $line | awk '{ print $3 }')
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
57 if [ -n "`grep -F " $buddy " $file2`" ] ; then
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
58 echo " \"$name\" -> \"$buddy\";"
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
59 fi
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
60 fi
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
61 done
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
62
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
63 echo "}"
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
64
2
6c327ae23d2c added --help to shell edition
meillo@marmaro.de
parents: 0
diff changeset
65 rm $file $file2
0
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
66 exit 0
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
67
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
68 fi
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
69 else
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
70 echo "usage: $0 <input.txt>"
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
71 exit 1
21d9547ef242 initial commit
meillo@marmaro.de
parents:
diff changeset
72 fi