root / hxtool @ b45e9c05
History | View | Annotate | Download (2.2 kB)
1 | 5824d651 | blueswir1 | #!/bin/sh |
---|---|---|---|
2 | 5824d651 | blueswir1 | |
3 | 5824d651 | blueswir1 | hxtoh() |
4 | 5824d651 | blueswir1 | { |
5 | 5824d651 | blueswir1 | flag=1 |
6 | fb21ced7 | blueswir1 | while read -r str; do |
7 | 5824d651 | blueswir1 | case $str in |
8 | 5824d651 | blueswir1 | HXCOMM*) |
9 | 5824d651 | blueswir1 | ;; |
10 | b40292e7 | Jan Kiszka | STEXI*|ETEXI*|SQMP*|EQMP*) flag=$(($flag^1)) |
11 | 5824d651 | blueswir1 | ;; |
12 | 5824d651 | blueswir1 | *) |
13 | 004efc96 | blueswir1 | test $flag -eq 1 && printf "%s\n" "$str" |
14 | 5824d651 | blueswir1 | ;; |
15 | 5824d651 | blueswir1 | esac |
16 | 5824d651 | blueswir1 | done |
17 | 5824d651 | blueswir1 | } |
18 | 5824d651 | blueswir1 | |
19 | 5824d651 | blueswir1 | hxtotexi() |
20 | 5824d651 | blueswir1 | { |
21 | 5824d651 | blueswir1 | flag=0 |
22 | 6c913ba5 | Jan Kiszka | line=1 |
23 | fb21ced7 | blueswir1 | while read -r str; do |
24 | 5824d651 | blueswir1 | case "$str" in |
25 | 5824d651 | blueswir1 | HXCOMM*) |
26 | 5824d651 | blueswir1 | ;; |
27 | 6c913ba5 | Jan Kiszka | STEXI*) |
28 | 6c913ba5 | Jan Kiszka | if test $flag -eq 1 ; then |
29 | 6c913ba5 | Jan Kiszka | echo "line $line: syntax error: expected ETEXI, found $str" >&2 |
30 | 6c913ba5 | Jan Kiszka | exit 1 |
31 | 6c913ba5 | Jan Kiszka | fi |
32 | 6c913ba5 | Jan Kiszka | flag=1 |
33 | 6c913ba5 | Jan Kiszka | ;; |
34 | 6c913ba5 | Jan Kiszka | ETEXI*) |
35 | 6c913ba5 | Jan Kiszka | if test $flag -ne 1 ; then |
36 | 6c913ba5 | Jan Kiszka | echo "line $line: syntax error: expected STEXI, found $str" >&2 |
37 | 6c913ba5 | Jan Kiszka | exit 1 |
38 | 6c913ba5 | Jan Kiszka | fi |
39 | 6c913ba5 | Jan Kiszka | flag=0 |
40 | 5824d651 | blueswir1 | ;; |
41 | b40292e7 | Jan Kiszka | SQMP*|EQMP*) |
42 | b40292e7 | Jan Kiszka | if test $flag -eq 1 ; then |
43 | b40292e7 | Jan Kiszka | echo "line $line: syntax error: expected ETEXI, found $str" >&2 |
44 | b40292e7 | Jan Kiszka | exit 1 |
45 | b40292e7 | Jan Kiszka | fi |
46 | b40292e7 | Jan Kiszka | ;; |
47 | 5824d651 | blueswir1 | DEFHEADING*) |
48 | 7d69c52e | Stefan Weil | echo "$(expr "$str" : "DEFHEADING(\(.*\))")" |
49 | 5824d651 | blueswir1 | ;; |
50 | 5824d651 | blueswir1 | *) |
51 | 7d69c52e | Stefan Weil | test $flag -eq 1 && echo "$str" |
52 | 5824d651 | blueswir1 | ;; |
53 | 5824d651 | blueswir1 | esac |
54 | 6c913ba5 | Jan Kiszka | line=$((line+1)) |
55 | 5824d651 | blueswir1 | done |
56 | 5824d651 | blueswir1 | } |
57 | 5824d651 | blueswir1 | |
58 | b40292e7 | Jan Kiszka | hxtoqmp() |
59 | b40292e7 | Jan Kiszka | { |
60 | b40292e7 | Jan Kiszka | IFS= |
61 | b40292e7 | Jan Kiszka | flag=0 |
62 | 02e95918 | Jan Kiszka | line=1 |
63 | b40292e7 | Jan Kiszka | while read -r str; do |
64 | b40292e7 | Jan Kiszka | case "$str" in |
65 | b40292e7 | Jan Kiszka | HXCOMM*) |
66 | b40292e7 | Jan Kiszka | ;; |
67 | b40292e7 | Jan Kiszka | SQMP*) |
68 | b40292e7 | Jan Kiszka | if test $flag -eq 1 ; then |
69 | b40292e7 | Jan Kiszka | echo "line $line: syntax error: expected EQMP, found $str" >&2 |
70 | b40292e7 | Jan Kiszka | exit 1 |
71 | b40292e7 | Jan Kiszka | fi |
72 | b40292e7 | Jan Kiszka | flag=1 |
73 | b40292e7 | Jan Kiszka | ;; |
74 | b40292e7 | Jan Kiszka | EQMP*) |
75 | b40292e7 | Jan Kiszka | if test $flag -ne 1 ; then |
76 | b40292e7 | Jan Kiszka | echo "line $line: syntax error: expected SQMP, found $str" >&2 |
77 | b40292e7 | Jan Kiszka | exit 1 |
78 | b40292e7 | Jan Kiszka | fi |
79 | b40292e7 | Jan Kiszka | flag=0 |
80 | b40292e7 | Jan Kiszka | ;; |
81 | b40292e7 | Jan Kiszka | STEXI*|ETEXI*) |
82 | b40292e7 | Jan Kiszka | if test $flag -eq 1 ; then |
83 | b40292e7 | Jan Kiszka | echo "line $line: syntax error: expected EQMP, found $str" >&2 |
84 | b40292e7 | Jan Kiszka | exit 1 |
85 | b40292e7 | Jan Kiszka | fi |
86 | b40292e7 | Jan Kiszka | ;; |
87 | b40292e7 | Jan Kiszka | *) |
88 | b40292e7 | Jan Kiszka | test $flag -eq 1 && echo "$str" |
89 | b40292e7 | Jan Kiszka | ;; |
90 | b40292e7 | Jan Kiszka | esac |
91 | 02e95918 | Jan Kiszka | line=$((line+1)) |
92 | b40292e7 | Jan Kiszka | done |
93 | b40292e7 | Jan Kiszka | } |
94 | b40292e7 | Jan Kiszka | |
95 | 5824d651 | blueswir1 | case "$1" in |
96 | 5824d651 | blueswir1 | "-h") hxtoh ;; |
97 | 5824d651 | blueswir1 | "-t") hxtotexi ;; |
98 | b40292e7 | Jan Kiszka | "-q") hxtoqmp ;; |
99 | 5824d651 | blueswir1 | *) exit 1 ;; |
100 | 5824d651 | blueswir1 | esac |
101 | 5c2f8d2d | blueswir1 | |
102 | 5c2f8d2d | blueswir1 | exit 0 |