【发布时间】:2015-09-24 08:30:41
【问题描述】:
问题的性质:
我有一个包含 10 列的 CSV 文件,其中 4 列指定疾病代码。假设这些是第 1 - 4 列。我有 2 个包含“包含”和“排除”代码的文本文件。
包含文件如下:一个带有n输入字符串的文件,每个都在换行符
例子:
123
12300
12301
124
12400
12401
1250
排除文件如下:一个带有m输入字符串的文件,每个字符串都在换行符上。
例子:
456
457
458
459
CSV 文件的截断版本如下所示:
D1,D2,D3,D4,A,B,C,D,E,F
123,00,145,567,A1,B1,C1,D1,E1,F1
890,001,456,0009,A2,B2,C2,D2,E2,F2
12301,456,00,145,A3,B3,C3,D3,E3,F3
567,1250,010,321,A4,B4,C4,D4,E4,F4
使用 AWK,我如何获取两个名为 inclusion 和 exclusion 的文件以及返回以下内容的 CSV 文件:
D1,D2,D3,D4,A,B,C,D,E,F
123,00,145,567,A1,B1,C1,D1,E1,F1
567,1250,010,321,A4,B4,C4,D4,E4,F4
CSV 文件可以有数百万行,而inclusion 和exclusion 文件可以有几十行。这不是家庭作业,感谢您的帮助。
【问题讨论】:
-
如果一行既有匹配
inclusion的字段又有匹配exclusion的字段会怎样?如果两者都没有会发生什么?到目前为止,您尝试过什么? -
排除优先。这就是为什么第三行被省略的原因。抱歉没有说清楚。
-
非常好。还有我的另外两个问题?
-
如果不匹配,则排除该行。到目前为止,我一直通过将特定字符串硬编码到 awk 行中来做到这一点。