質問編集履歴

1

修正版コード投稿

2017/12/19 15:37

投稿

minhouse10
minhouse10

スコア41

test CHANGED
File without changes
test CHANGED
@@ -63,3 +63,157 @@
63
63
  done < $rfile
64
64
 
65
65
  ```
66
+
67
+
68
+
69
+ あちこちマスクしていますが、修正版のスクリプトです。
70
+
71
+ ```ここに言語を入力
72
+
73
+ #!/bin/bash
74
+
75
+
76
+
77
+ rfile='/Backup/result.log'
78
+
79
+ declare -a count=()
80
+
81
+ declare -a lost_rs=()
82
+
83
+ declare -a no_ps=()
84
+
85
+ declare -a all_host=()
86
+
87
+
88
+
89
+ cnt=0
90
+
91
+ cnt1=0
92
+
93
+ r_chk=0
94
+
95
+
96
+
97
+ while read line || [ -n "${line}" ];
98
+
99
+ do
100
+
101
+ if [ `(echo "${line}" |grep -o 'IP')` ];then
102
+
103
+ aep=`(echo "${line}" |awk -F ' ' '{print $2}' )`
104
+
105
+ all_host+=("${aep}")
106
+
107
+ fi
108
+
109
+
110
+
111
+ if [ `(echo "${line}" | grep -o '^[0-9]*$')` ];then
112
+
113
+ cnt=`expr "${cnt}" + 1`
114
+
115
+ rpl_count+=("${line}")
116
+
117
+ mng=`echo ${count[${#count[@]}-1]}`
118
+
119
+ elif [ `(echo "${line}" | grep -o 'SSH')` ];then
120
+
121
+ cnt1=`expr "${cnt1}" + 1`
122
+
123
+ line=`(echo "${line}" |awk '{print $2}')`
124
+
125
+ lost_crs+=("${line}")
126
+
127
+ fi
128
+
129
+
130
+
131
+ if [ "${mng}" = '3' ];then
132
+
133
+ mng=`echo ${all_host[${#all_host[@]}-1]}`
134
+
135
+ no_eps+=("${mng}")
136
+
137
+ fi
138
+
139
+
140
+
141
+ done < $rfile
142
+
143
+
144
+
145
+ #echo "This is ${all_host[@]}"
146
+
147
+
148
+
149
+ for item in ${count[@]};do
150
+
151
+ if [ "${item}" = '3' ];then
152
+
153
+ r_chk=`expr "${r_chk}" + 1`
154
+
155
+
156
+
157
+ fi
158
+
159
+ done
160
+
161
+
162
+
163
+ non_ep=$(($cnt * 3))
164
+
165
+ total=0
166
+
167
+ n=${#count[@]}
168
+
169
+ n=$((n - 1))
170
+
171
+ while [ "${n}" -ge 0 ];
172
+
173
+ do
174
+
175
+ total=$((count[$n] + $total))
176
+
177
+ r_total=$(($total - $non_ep))
178
+
179
+ n=$((n - 1))
180
+
181
+ done
182
+
183
+ echo "Total Count = $r_total"
184
+
185
+ total_cr=`expr "${cnt}" + "${cnt1}"`
186
+
187
+ con_rate=`echo "scale=2; 1-($cnt1/$cnt)" | bc`
188
+
189
+ con_rate2=`echo "scale=2; $con_rate*100" | bc`
190
+
191
+ echo "Connection Rate = $con_rate2 %"
192
+
193
+ echo "Number of Connected = $cnt"
194
+
195
+ echo -e "\n"
196
+
197
+ echo -e "Number without Ps = $r_chk"
198
+
199
+ echo -e " -without Ps-\n ${no_es[@]}"
200
+
201
+ echo -e "\n"
202
+
203
+ echo "Number of Lost = $cnt1"
204
+
205
+ #echo -e "\n"
206
+
207
+ if [ "${cnt1}" -gt 0 ];then
208
+
209
+ echo -e " -Lost Connection-\n ${lost_rs[@]}"
210
+
211
+ else
212
+
213
+ echo " -All Connected-"
214
+
215
+ fi
216
+
217
+
218
+
219
+ ```