- 论坛徽章:
- 8
|
写了个普通的方法,test.awk脚本- function checkRed(A,B,i,j,n) {
- for (i=1;i<=6;i++)
- for (j=1;j<=6;j++){
- if (A[i]==B[j]){
- n++
- break
- }
- }
- return n
- }
- function checkBlue(a,b) {
- return a==b
- }
- function getRes(a,b) {
- if (a==6 && b)
- return "中一等奖"
- else if (a==6 && !b)
- return "中二等奖"
- else if (a==5 && b)
- return "中三等奖"
- else if ((a==5 && !b) || (a==4 && b))
- return "中四等奖"
- else if ((a==4 && !b) || (a==3 && b))
- return "中五等奖"
- else if (a<=2 && b)
- return "中六等奖"
- else
- return "未中奖"
- }
- #取到开奖的数字
- BEGIN{
- split(redstr,zjRed)
- zjBlue=bluestr
- }
- /^[A-Z]>/{
- for (i=2;i<=7;i++){
- redBall[i-1]=$i
- }
- blueBall = $9
- print $0,getRes(checkRed(redBall,zjRed),checkBlue(blueBall,zjBlue))
- }
复制代码
我直接测试的话正常:
- awk -f test.awk -v redstr="01 07 10 22 31 32" -v bluestr="15" ticket_2019009.txt
复制代码
要在你的bash脚本调用里的话,你自己看一下,在适当的位置加上,应该就可以了。
- awk -f test.awk -v redstr=$red -v bluestr=$blue ticket_2019009.txt
复制代码
|
|