如何比较两组数据,并格式化第2组数据??
A组:
36 18 19 70 97
66 71 13 23 48
23 68 8 11 12
B组数据:
97 19 18 36 18 28 71
53 24 33 48 13 66 25
55 12 11 75 36 23 19
比较A组和B组数据, 是每行对应每行来比较, 就比如A组的第一行和B组的第一行比较。以此类推。
如果B组中和A组中有相同的数字,则把B组相同的数字栅格。
比如B组第一行,相同的数字有 19,18,36
则第一行比较后的结果是
我不知道shell中可不可以实现数字栅格, 如果不能的话,可以用别的格式代替。只是为了醒目,但要能复制到其他文件中。屏幕醒目就不用了。
作者: vitas333_cu 发布时间: 2011-06-15
作者: ly5066113 发布时间: 2011-06-15
作者: zooyo 发布时间: 2011-06-15
不好意思, 写错了。 97 是相同的。
作者: vitas333_cu 发布时间: 2011-06-15
作者: nugget 发布时间: 2011-06-15
- awk '{getline v<"file1";for(i=1;i<=NF;i++)if(index(v,$i))$i="-"}1' file2
作者: ly5066113 发布时间: 2011-06-15
可以保留 数字吗?? 因为 用横线替换了 就不知道什么数字相同了、
作者: vitas333_cu 发布时间: 2011-06-15
大师啊,学习了,这个index()函数不会用,想了N个办法没搞定。
作者: zooyo 发布时间: 2011-06-15
很难实现你想要的横线划掉数字的效果,看看这样行不行。
- awk '{getline v<"file1";for(i=1;i<=NF;i++)if(index(v,$i))$i="-"$i"-"}1' file2
作者: ly5066113 发布时间: 2011-06-15
- awk '{getline v<"a";for(i=1;i<=NF;i++)if(index(v,$i))$i="["$i"]"}1' b
- [97] [19] [18] [36] [18] 28 71
- 53 24 33 [48] [13] [66] 25
- 55 [12] [11] 75 36 [23] 19
作者: zooyo 发布时间: 2011-06-15