buddylistgrapher
annotate graph_sed.sh @ 16:dbaa8a943271
merge
author | ju |
---|---|
date | Thu, 05 Jul 2007 18:13:01 +0200 |
parents | 3af263aed951 |
children |
rev | line source |
---|---|
meillo@4 | 1 #!/bin/bash |
meillo@4 | 2 # |
meillo@4 | 3 # Autor: markus schnalke (prog.marmaro.de) |
meillo@4 | 4 # Autor: Julian Forster (www.ProgMaschine.de.vu) |
meillo@4 | 5 # |
meillo@4 | 6 |
meillo@4 | 7 |
meillo@4 | 8 if [ $# -eq 1 ]; then |
meillo@4 | 9 if [ $1 = '--version' ] ; then |
meillo@4 | 10 echo 'Buddylistgrapher (sed)' |
meillo@4 | 11 echo '======================' |
meillo@4 | 12 echo 'version 0.1' |
meillo@4 | 13 echo |
meillo@4 | 14 echo 'by Julian Forster (http://progmaschine.de.vu)' |
meillo@4 | 15 echo 'and Markus Schnalke (http://prog.marmaro.de)' |
meillo@4 | 16 exit 0 |
meillo@4 | 17 elif [ $1 = '--help' ] ; then |
meillo@4 | 18 echo 'Buddylistgrapher (sed)' |
meillo@4 | 19 echo '======================' |
meillo@4 | 20 echo |
meillo@4 | 21 echo "usage: $0 <input.txt>" |
meillo@4 | 22 echo |
meillo@4 | 23 echo "The grapher generates output to stdout." |
meillo@4 | 24 echo "This output is the input for the graphviz tools." |
meillo@4 | 25 echo |
meillo@4 | 26 echo "You can use it like this:" |
meillo@4 | 27 echo "$0 input.txt | dot -Tpng > pic.png" |
meillo@4 | 28 echo |
meillo@4 | 29 echo "ToDo:" |
meillo@4 | 30 echo "The program was written for one specific kind of input data," |
meillo@4 | 31 echo "so there is still some work to do to use it for general input." |
meillo@4 | 32 exit 0 |
meillo@4 | 33 else |
meillo@4 | 34 |
meillo@4 | 35 file=/tmp/`basename $0`-$$ |
meillo@4 | 36 file2=/tmp/`basename $0`-$$-2 |
meillo@4 | 37 |
meillo@13 | 38 |
meillo@13 | 39 # sed |
meillo@13 | 40 sed -n -e " |
meillo@4 | 41 /^Profil/{ |
meillo@13 | 42 s/Profil von: \(.\+\)/\"\1\";/ |
meillo@13 | 43 w $file |
meillo@6 | 44 s/;$// |
meillo@4 | 45 h |
meillo@4 | 46 #p |
meillo@4 | 47 } |
meillo@4 | 48 |
meillo@4 | 49 |
meillo@4 | 50 /^Nachricht/{ |
meillo@4 | 51 G |
meillo@4 | 52 s/ - [-0-9]\+// |
meillo@13 | 53 s/Nachricht schreiben \(.\+\)\n/\"\1\" / |
meillo@13 | 54 s/\"\(.\+\)\" \"\(.\+\)\"/ \"\2\" -> \"\1\";/ |
meillo@4 | 55 |
meillo@4 | 56 # write out |
meillo@6 | 57 #p |
meillo@13 | 58 w $file2 |
meillo@4 | 59 } |
meillo@13 | 60 " $1 |
meillo@4 | 61 |
meillo@13 | 62 # output |
meillo@6 | 63 echo "digraph G {" |
meillo@13 | 64 grep -f $file $file2 |
meillo@4 | 65 echo "}" |
meillo@4 | 66 |
meillo@13 | 67 # cleanup |
meillo@13 | 68 rm $file $file2 |
meillo@4 | 69 exit 0 |
meillo@4 | 70 |
meillo@4 | 71 fi |
meillo@4 | 72 else |
meillo@4 | 73 echo "usage: $0 <input.txt>" |
meillo@4 | 74 exit 1 |
meillo@4 | 75 fi |