도대체 이게 필요한 사람이 또 있을지 모르겠으나... StarCraft replay 파일들을 한 곳에 모아두고 웹브라우저로 이 스크립트를 호출하면 replay 파일의 수와 승, 패, 승률을 보여준다.
- 왕 단순 bash 쉘 스크립트. perl 이고 PHP 고 없어도 되지만, 정작 리눅스 기본 쉘 유틸리티들 (ls, cat, tail, awk 등) 을 쓸 수 없는 서버라면 낭패
- cgi 를 실행할 수 있는 디렉토리에 적당히 두고 실행 권한을 주면 끝.
- replay 파일은 .rep 확장자 바로 앞에 승(w) 또는 패(l) 가 적혀 있어야 함 (ex 20040715w.rep, 125l.rep)
#!/bin/bash # bash 실행파일의 경로
# 홈페이지에 업로드한 replay 파일로부터 승패 갯수와 승률을 계산하는 cgi
DIR=/home/gypark/public_html/upload/ # rep 파일이 보관된 디렉토리의 절대경로
echo "Content-type: text/html"
echo ""
cat << EOF
<html>
<head>
<LINK REL="stylesheet" HREF="./wiki/gypark.css"> # 자기가 사용할 스타일쉬트의 경로. 생략 가능
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=euc-kr">
</head>
<body>
EOF
echo "<table border=1>"
cd $DIR
TOTAL_REPLAY=`ls *.rep | cat -n | tail -1 | awk '{ print \$1 }'`
echo "<tr><td>전체 리플레이 파일</td><td align=right>$TOTAL_REPLAY 개</td></tr>"
MY_REPLAY=`ls *[wWlL].rep | cat -n | tail -1 | awk '{ print \$1 }'`
echo "<tr><td>승패가 기록되어 있는 파일</td><td align=right>$MY_REPLAY 개</td></tr>"
NUM_WIN=`ls *[wW].rep | cat -n | tail -1 | awk '{ print \$1 }'`
echo "<tr><td>승</td><td align=right>$NUM_WIN 번</td></tr>"
NUM_LOSE=`ls *[lL].rep | cat -n | tail -1 | awk '{ print \$1 }'`
echo "<tr><td>패</td><td align=right>$NUM_LOSE 번</td></tr>"
let "PERCENT_WIN = NUM_WIN * 10000 / MY_REPLAY"
let "PERCENT_ONE = PERCENT_WIN / 100"
let "PERCENT_POINT = PERCENT_WIN - (PERCENT_ONE * 100)"
echo "<tr><td>승률</td><td align=right>$PERCENT_ONE.$PERCENT_POINT %</td></tr>"
echo "</table>"
echo "</body></ html>" # 여기의 "/ html" 부분은 붙여서 쓸 것
exit
주인장분류