免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: fangww_uestc
打印 上一主题 下一主题

[数值计算] 用while read awk 计算的一个问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2013-10-19 18:56 |只看该作者
貌似搞定了

  1 #!/bin/sh
  2 n=3
  3 s=2
  4 j=(1 10)
  5 while read -a k
  6 do
  7     for((i=0;i<$s;i++))
  8     do
  9      #   echo $[${k[$n+i]}*${j[i]}]
10      ((var+=$[${k[$n+i]}*${j[i]}]))
11    done
12     echo $var
13 done f3.txt

论坛徽章:
1
射手座
日期:2014-03-10 14:24:52
12 [报告]
发表于 2013-10-21 11:09 |只看该作者
不明白兜圈的意义何在。

论坛徽章:
0
13 [报告]
发表于 2013-10-21 14:35 |只看该作者
回复 12# davidbeckham921

是在解二进制文件

数据:
0 37 1 37 2 59
0 37 2 37 1 59

代码:
  1 #!/bin/sh
  2 n=3
  3 s=2
  4 j=(1 10)
  5 while read -a k
  6 do
  7     total=0
  8     for((i=0;i<$s;i++))
  9     do
10      ((total+=$[${k[$n+i]}*${j}]))
11    done
12     echo $total
13 done <f3.txt

这个n和s是确定起始位置和长度的变量,然后进行计算。
请教你有什么好的建议呢

还有个问题没有解决的是,这个数据文件是od -tu 进行后得到的结果,悲剧的是部分字段是不用od就直接进行读取,我想到是像xxd -r 那样进行反操作,可od -tu出来的结果不知咋返回。

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP