【发布时间】:2018-03-21 00:51:20
【问题描述】:
我搜索了相关问题,但找不到适合我的问题的答案。例如,我有一个 6 行 3 列的文件。
id sample1 sample2 sample3
6 +/+ +/+ +/-
16 -/- +/+ +/+
20 +/- +/+ +/+
21 +/- +/+ +/+
22 +/+ +/+ -/-
25 +/+ +/+ +/+
对于每一列,我需要将一行的字符串与下一行的字符串进行比较,并根据值,用AWK报告一个数字,基于以下比较表(无论field1和字段2):
field1 field2 value
+/+ +/+ 0
+/+ +/- 0.5
+/- +/- 1
+/+ -/- 2
+/- -/- 2.5
-/- -/- 4
因此期望的输出是:
id sample1 sample2 sample3 result1 result2 result3
6 +/+ +/+ +/- 2 0 0.5
16 -/- +/+ +/+ 2.5 0 0
20 +/- +/+ +/+ 1 0 0
21 +/- +/+ +/+ 0.5 0 2
22 +/+ +/+ -/- 0 0 2
25 +/+ +/+ +/+
任何帮助将不胜感激。
【问题讨论】:
-
你有没有尝试过?
标签: awk