Update README.md
[cmdllinux.git] / bash_n_examples / bash / functions / __ASd0.sh
blob8cffb4aff0d6c576119364de8e0cb3425550cba9
1 #S="\$(asda\$(s\$(g)), \$(z))sd \$(asds \$(asd))dsa"
2 #S="\$(asda\$(s\$(g)), \$(z))sd \$(asds \$(asd))"
3 #S="asd \$(asda\$(s\$(g)), \$(z))sd \$(asds \$(asd))dsa"
4 S="asd \$(asda\$(s\$(g)), \$(z))sd \$(asds \$(asd))"
5 echo "$S"
7 ##!not separating sections
8 echo "+++"
9 echo -n "$S" | sed -e 's/\$(/+/g' -e 's/)/-/g' | \
10 while read -r -N 1 A; do
11 [ -z "$PP" ] && PP=0
12 [ -z "$MM" ] && MM=0
13 [ "$A" = "+" ] && PP=$(expr $PP + 1)
14 [ "$A" = "-" ] && MM=$(expr $MM + 1)
15 if [ "$PP" = "$MM" ]; then
16 if [ "$A" != "-" ]; then
17 echo -n "$A"
20 done
21 echo
22 echo "---"
24 ##!not separating sections
25 echo "+++"
26 echo -n "$S" | sed -e 's/\$(/+/g' -e 's/)/-/g' | \
27 while read -r -N 1 A; do
28 [ -z "$PP" ] && PP=0
29 [ -z "$MM" ] && MM=0
30 [ "$PP" = "$MM" ] && oeq=1 || oeq=
31 [ "$A" = "+" ] && PP=$(expr $PP + 1)
32 [ "$A" = "-" ] && MM=$(expr $MM + 1)
33 [ "$PP" = "$MM" ] && eq=1 || eq=
34 [ -z "$oeq" -a -n "$eq" ] && echo -n "-"
35 if [ "$PP" != "$MM" ]; then
36 echo -n "$A"
38 done | \
39 sed -e 's/+/$(/g' -e 's/-/)/g'
40 echo
41 echo "---"
43 ##space separating sections
44 echo "+++"
45 echo -n "$S" | sed -e 's/\$(/+/g' -e 's/)/-/g' | \
46 while read -r -N 1 A; do
47 [ -z "$PP" ] && PP=0
48 [ -z "$MM" ] && MM=0
49 [ "$PP" = "$MM" ] && oeq=1 || oeq=
50 [ "$A" = "+" ] && PP=$(expr $PP + 1)
51 [ "$A" = "-" ] && MM=$(expr $MM + 1)
52 [ "$PP" = "$MM" ] && eq=1 || eq=
53 [ -z "$oeq" -a -n "$eq" ] && echo -n "- "
54 if [ "$PP" != "$MM" ]; then
55 echo -n "$A"
57 done | \
58 sed -e 's/+/$(/g' -e 's/-/)/g'
59 echo
60 echo "---"
62 ##linefeed separating sections
63 echo "+++"
64 (echo -n "$S"; echo -n ")") | sed -e 's/\$(/+/g' -e 's/)/-/g' | \
65 while read -r -N 1 A; do
66 [ -z "$PP" ] && PP=0
67 [ -z "$MM" ] && MM=0
68 [ "$PP" = "$MM" ] && oeq=1 || oeq=
69 [ "$A" = "+" ] && PP=$(expr $PP + 1)
70 [ "$A" = "-" ] && MM=$(expr $MM + 1)
71 [ "$PP" = "$MM" ] && eq=1 || eq=
72 [ \( -z "$oeq" -a -n "$eq" \) -a -n "$val" ] && echo && val=
73 [ \( "$MM" -gt "$PP" \) -a -n "$val" ] && echo && val=
74 if [ "$PP" = "$MM" ]; then
75 [ "$A" != "-" ] && echo -n "$A" && val=1
77 done
78 echo "---"
80 ##linefeed separating sections
81 echo "+++"
82 echo -n "$S" | sed -e 's/\$(/+/g' -e 's/)/-/g' | \
83 while read -r -N 1 A; do
84 [ -z "$PP" ] && PP=0
85 [ -z "$MM" ] && MM=0
86 [ "$PP" = "$MM" ] && oeq=1 || oeq=
87 [ "$A" = "+" ] && PP=$(expr $PP + 1)
88 [ "$A" = "-" ] && MM=$(expr $MM + 1)
89 [ "$PP" = "$MM" ] && eq=1 || eq=
90 [ -z "$oeq" -a -n "$eq" ] && echo -n "-" && echo
91 if [ "$PP" != "$MM" ]; then
92 echo -n "$A"
94 done | \
95 sed -e 's/+/$(/g' -e 's/-/)/g'
96 echo "---"