-
Notifications
You must be signed in to change notification settings - Fork 0
/
randlot
executable file
·314 lines (233 loc) · 7.35 KB
/
randlot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
#!/usr/bin/bash
# COSMOS Project.2015 https://cosmosproject2015.tistory.com/
# cosmosproject15@gmail.com
## LICENSE : GPL 2
# Maintainer : cosmosproject15@gmail.com
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
if [[ -s y ]]; then
cat /dev/null > y
fi
if [[ -s /tmp/randlot_data.html ]]; then
rm /tmp/randlot_data.html
fi
if [[ -s data.xlsx ]]; then
rm data.xlsx
fi
if [[ -s /tmp/randlot_after_data.html ]]; then
rm /tmp/randlot_after_data.html
fi
if [[ -s /tmp/randlot_after_data.xlsx ]]; then
rm /tmp/randlot_after_data.xlsx
fi
if [[ -s /tmp/randlot_averas ]]; then
cat /dev/null > /tmp/randlot_averas
fi
Version=0.1-5
if [[ $1 = "--help" ]] || [[ $1 = "-h" ]]; then
echo "randlot $Version
usage:
1. ./randlot
2. ./randlot option.conf
Report bugs to cosmosproject15@gmail.com
"
exit 0
fi
if [[ -s pr_lists ]]; then
rm pr_lists
fi
if [[ $1 = "-v" ]] || [[ $1 = "--version" ]] || [[ $1 = "-V" ]]; then
echo "randlot $Version"
exit 0
fi
strong=`bash see_strong`
echo "최근 6/45 로또의 진행 회차는 $strong 입니다."
if [[ ! -r $1 ]]; then
chknnum() {
read -p "적용할 상위 회차를 지정하여 주십시오. (아무 입력이 없다면 자동으로 최근 회차를 적용 합니다.) : " nnum
if [[ "$nnum" ]]; then
if [[ ! $nnum -le $strong ]]; then
echo "다시 입력하여 주십시오."
chknnum
fi
if [[ $nnum -le $strong ]]; then
nnum=$nnum
fi
fi
if [[ ! "$nnum" ]]; then
echo "아무것도 입력 하지 않았음으로 $strong 회차가 적용 상위 회차로 지정 합니다."
nnum=$strong
fi
}
chknnum
echo "상위 적용 회차: $nnum"
bnumchk() {
read -p "하위 적용 회차를 입력하여 주십시오. (아무 입력이 없으면 상위 회차로 부터 -50 회차로 적용 합니다.) : " bnum
if [[ "$bnum" ]]; then
if [[ ! $bnum -gt 0 ]]; then
echo "다시 입력하여 주십시오."
bnumchk
fi
if [[ $bnum -gt 0 ]]; then
bnum=$bnum
fi
fi
if [[ ! "$bnum" ]]; then
echo "아무것도 입력 하지 않았음으로 상위 회차에서 -50 차이로 자동 지정 합니다."
bnum=`echo "$nnum - 50 " |bc`
fi
}
bnumchk
echo "하위 적용 회차 : $bnum"
amountchk() {
read -p "결과 추출 개수를 지정하여 주십시오. : " amount
if [[ "$amount" ]]; then
if [[ ! $amount -gt 0 ]]; then
echo "다시 입력하여 주십시오."
amountchk
fi
if [[ $amount -gt 0 ]]; then
amount=$amount
fi
fi
if [[ ! "$amount" ]]; then
echo "아무것도 입력 하지 않았음으로 자동으로 10개 추출로 지정 합니다."
amount=10
fi
}
amountchk
echo "추출개수 : $amount"
averachk() {
read -p "연산 횟수를 지정 하여 주십시오 (기본 :30500번) : " avera
if [[ "$avera" ]]; then
if [[ ! $avera -gt 10000 ]]; then
echo "숫자가 적습니다. 10000 이상 으로 다시 입력하여 주십시오."
averachk
fi
if [[ $avera -gt 10000 ]]; then
avera=$avera
fi
fi
if [[ ! "$avera" ]]; then
echo "아무것도 입력 하지 않았음으로 자동으로 30500번 으로 지정 합니다."
avera=305000
fi
}
averachk
echo "연산 횟수 : $avera"
if [[ "$5" == "half" ]]; then
half="1"
else
half="0"
fi
today=`date +%Y%m%d `
timechk() {
read -p "당일 날짜는 `date` 입니다.
지정 하지 않으면 오늘 날짜로 양력과 음력이 자동 적용 됩니다.
양력/음력을 입력하여 주십시오.예 (05020410) : " time
if [[ "$time" ]]; then
time=$time
fi
if [[ ! "$time" ]]; then
echo "아무것도 입력 하지 않았음으로 오늘 날짜로 양력과 음력이 자동 적용 됩니다."
today=`python3 cal.py $today`
time=$today
fi
}
timechk
echo "적용 날수 : $time"
camel=0
read -p "반자동 포함을 어떻게 적용 하시겠습니까?
0:반자동 출력 안함
1:반자동만 출력
2:수동 and 반자동 같이 출력
3: 자동 and 수동 and 반자동 같이 랜덤으로 출력
4: 자동 and 반자동 같이 랜덤으로 출력
[0/1/2/3/4] : " dohalf
case "$dohalf" in
0) half=0
;;
1) half=1
;;
2) half=2
;;
3) half=3
;;
4) half=4
esac
test="notest"
if [[ ! $nnum == $strong ]]; then
read -p "테스트 하시겠습니까? [y/*] : " dotest
if [[ $dotest == "y" ]]; then
test="test"
after_num=`echo "$nnum + 1" |bc`
wget -q -O /tmp/randlot_after_data.html "https://dhlottery.co.kr/gameResult.do?method=allWinExel&gubun=byWin&nowPage=&drwNoStart=$bnum&drwNoEnd=$after_num"
ssconvert /tmp/randlot_after_data.html /tmp/randlot_after_data.xlsx
fi
if [[ ! $dotest == "y" ]]; then
test="notest"
echo "테스트를 진행 하지 않습니다."
fi
fi
read -p "옵션 파일을 만드시겠습니까? [y/n*] : " mkop
if [[ $mkop == "y" ]]; then
echo "옵션 파일을 재작성 합니다."
echo "randlot 프로그램의 옵션 파일 입니다.
반드시 띄어쓰기를 준수하여 주십시오.
적용범위상위회차: $nnum
적용범위하위회차: $bnum
결과추출개수: $amount
연산회수: $avera
추첨날짜(05090417): $time
반자동(0/1/2/3/4): $half
테스트(test/notest): $test" > option.conf
echo "'option.conf' 에 변경 되어 저장 되었습니다.
"
fi
fi
if [[ -r $1 ]]; then
echo "옵션 파일일 확인 되었습니다."
nnum=`grep "적용범위상위회차" $1 |awk '{print $2}'`
echo "상위 회차: $nnum"
bnum=`grep "적용범위하위회차" $1 |awk '{print $2}'`
echo "하위 회차: $bnum"
amount=`grep "결과추출개수" $1 |awk '{print $2}'`
echo "추출 개수: $amount"
avera=`grep "연산회수" $1 |awk '{print $2}'`
echo "연산 횟수: $avera"
time=` grep "추첨날짜" $1 |awk '{print $2}'`
echo "날짜 적용: $time"
half=`grep "반자동" $1 |awk '{print $2}'`
echo "반자동 여부 : $half"
test=`grep "테스트" $1 |awk '{print $2}'`
echo "테스트 여부 : $test"
camel=0
if [[ $test == "test" ]]; then
after_num=`echo "$nnum + 1" |bc`
wget -q -O /tmp/randlot_after_data.html "https://dhlottery.co.kr/gameResult.do?method=allWinExel&gubun=byWin&nowPage=&drwNoStart=$bnum&drwNoEnd=$after_num"
ssconvert /tmp/randlot_after_data.html /tmp/randlot_after_data.xlsx
fi
fi
wget -q -O /tmp/randlot_data.html "https://dhlottery.co.kr/gameResult.do?method=allWinExel&gubun=byWin&nowPage=&drwNoStart=$bnum&drwNoEnd=$nnum"
ssconvert /tmp/randlot_data.html /tmp/randlot_data.xlsx
lynx --dump "https://dhlottery.co.kr/gameResult.do?method=statByNumber" > /tmp/randlot/imsi
cat /tmp/randlot/imsi | grep "%" -B1 -A1 |sed '/%/d' > /tmp/randlot/imsis
cat /dev/null > /tmp/randlot/nums
for (( i = 1; i < 46; i++ )); do
nums=`cat /tmp/randlot/imsis |grep -w $i -A1`
echo $nums >> /tmp/randlot/nums
done
pypy3 dataproc.py $nnum $bnum $amount $avera $half $time $camel $test
exit 0