awk脚本在linux下运行得很好,但是死活无法转换到windows下面

sh/bash/dash/ksh/zsh等Shell脚本
回复
谢宝良
帖子: 1982
注册时间: 2010-05-01 21:23
送出感谢: 4 次
接收感谢: 21 次

awk脚本在linux下运行得很好,但是死活无法转换到windows下面

#1

帖子 谢宝良 » 2017-01-09 13:03

代码: 全选

awk  -F'[ :\t]'  '{a=$4*60+$5;
if((360<=a) && (a<=390) ){print $1,$2,$3,"1" }
if(400<=a && a<=420){print $1,$2,$3,"2" }
if(1095<=a && a<=1115){print $1,$2,$3,"3" }
if(1355<=a && a<=1390){print $1,$2,$3,"4" }}' 签到数据.txt |awk 'a[$0]++{print $0}'>除重复后的数据


awk 'BEGIN{y1=0;y2=0;y3=0;y4=0;y5=0;y6=0;y7=0;y8=0;y9=0;y10=0;y11=0;y12=0;y13=0;y14=0;y15=0;y16=0}
ARGIND==1{if(NR<=7){w1=w1"a"$1"p"}if(NR>7 && NR<=14){w2=w2"a"$1"p"}if(NR>14 && NR<=21){w3=w3"a"$1"p"}if(NR>21 && NR<=28){w4=w4"a"$1"p"}}   ARGIND==2{b[$1]=b[$1]"a"$0}
END{for(name=1;name<=62;name++){split(b[name],c,"a"); for(i=2;i<=length(c);i++){split(c[i],d," "); ri="a"d[3]"p"
if(d[4]==1){ if(w1~ri){y1++;continue} if(w2~ri){y2++;continue} if(w3~ri){y3++;continue} if(w4~ri){y4++;continue} }
if(d[4]==2){ if(w1~ri){y5++;continue} if(w2~ri){y6++;continue} if(w3~ri){y7++;continue} if(w4~ri){y8++;continue} }
if(d[4]==3){ if(w1~ri){y9++;continue} if(w2~ri){y10++;continue} if(w3~ri){y11++;continue} if(w4~ri){y12++;continue} }
if(d[4]==4){ if(w1~ri){y13++;continue} if(w2~ri){y14++;continue} if(w3~ri){y15++;continue} if(w4~ri){y16++;continue} }
} print  y1,y2,y3,y4,y1+y2+y3+y4,y5,y6,y7,y8,y5+y6+y7+y8,y9,y10,y11,y12,y9+y10+y11+y12,y13,y14,y15,y16,y13+y14+y15+y16;
y1=0;y2=0;y3=0;y4=0;y5=0;y6=0;y7=0;y8=0;y9=0;y10=0;y11=0;y12=0;y13=0;y14=0;y15=0;y16=0}}' 日期.txt  除重复后的数据>123.txt
用来处理单位的指纹签到数据处理
头像
lilydjwg
论坛版主
帖子: 4176
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 11 次
接收感谢: 127 次
联系:

Re: awk脚本在linux下运行得很好,但是死活无法转换到windows下面

#2

帖子 lilydjwg » 2017-01-09 16:05

要么把 awk 代码写到文件里,要么用 bash。
回复

回到 “Shell脚本”