一组数据,如何两两得到差值??
时间:2011-02-11
来源:互联网
一组数据
209 11 108 34
999 22 32 40
1 23 89 33 44
我要两两相减, 比如 第一排 11-209, 108-209,34-209,108-11,34-11,34-108, 都取绝对值。
然后竖排排列。
上面最终结果
198
101
175
97
23
74
其他两排同样处理。
awk 或者别的工具可以实现吗??
209 11 108 34
999 22 32 40
1 23 89 33 44
我要两两相减, 比如 第一排 11-209, 108-209,34-209,108-11,34-11,34-108, 都取绝对值。
然后竖排排列。
上面最终结果
198
101
175
97
23
74
其他两排同样处理。
awk 或者别的工具可以实现吗??
作者: vitas333_cu 发布时间: 2011-02-11
try:
复制代码
- #!/usr/bin/perl
- use warnings;
- use strict;
- while(<>){
- my @num=split;
- my ($i,$j);
- for($i=0;$i<$#num;$i++)
- {
- for($j=$i+1;$j<=$#num;$j++)
- {
- if(($num[$j]-$num[$i])>0)
- {
- print $num[$j]-$num[$i],"\n";
- } else {
- print $num[$i]-$num[$j],"\n";
- }
- }
- }
- }
作者: zzy7186 发布时间: 2011-02-12
回复 vitas333_cu
是这样的么?
复制代码
是这样的么?
- echo "209 11 108 34
- 999 22 32 40
- 1 23 89 33 44" |awk '{for(i=1;i<=NF;i++)for(j=i;j<=NF;j++)if(i!=j){print ($i-$j>0?$i-$j:$j-$i)}}'
- 198
- 101
- 175
- 97
- 23
- 74
- 977
- 967
- 959
- 10
- 18
- 8
- 22
- 88
- 32
- 43
- 66
- 10
- 21
- 56
- 45
- 11
作者: yinyuemi 发布时间: 2011-02-12
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28