LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1091|回复: 0

紧急求救!!如何实现在循环中定义一个变量?

[复制链接]
发表于 2008-7-17 19:10:30 | 显示全部楼层 |阅读模式
(echo $cvrg; $cat $rnx) | awk 'NR == 1 {rng = $1; maxs = 3600; ml = 1; intv = 1} \
/TYPES OF O/ {ml = int($1/6)+1} /END OF HEADER/ {go = NR + 1} \
NR == go {cnt++; {mp = ($8 > 12) ? 2:1}; go = NR+$8*ml+mp; new = $5*60+$6; gap[(new-old) % maxs]++; old = new} \
END {for (i=1;i<=maxs;i++) if (maxi < gap) {maxi = gap; intv = i} \
print int(cnt*intv/360/rng+0.5)}' | sed -e "s/10/X/"

在这行命令里,{mp = ($8 > 12) ? 2:1}是不是有问题?我想实现的功能就是如果这一行的第8列大于12,则设参数mp=2,如果这一行的第8列小于等于12,则设参数mp=1。该怎么修改?另外,如果第8列可能是一个单纯的数字如18或12等,也有可能是18G12G13G,我该如何在这里直接取去前面的18这个数字呢?

最重要的,第8列很有可能是一个以数字开始但是跟有字母的字符串如18G12G13G或7G8G8等,我该如何设置一个变量让它等于字母前的数字如18G12G13G应为18,7G8G8应为7.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表