【发布时间】:2019-11-20 14:04:50
【问题描述】:
基本上,如果前 3 列具有相同的值,我想保留所有没有第四列值 =“-”的行。在这种情况下,我想删除第一行,但保留接下来的 2 行..
A B C -
A B C D1
A B C D2
AA BB CC D3
AB BC CD D4
FA FB FC -
GA GB GC DN
预期输出:
A B C D1
A B C D2
AA BB CC D3
AB BC CD D4
FA FB FC -
GA GB GC DN
我能理解
awk '!(seen[$1,$2,$3]++ && $4 == "-")'
不删除任何行,但是如何修改条件以删除第一行?
我仍然想保留“FA FB FC -”,因为没有其他行的前 3 列为“FA FB FC”。
【问题讨论】:
-
请添加您为解决您自己的问题所做的努力。另外您的问题不清楚,请添加更多详细信息。
-
抱歉,这不是 StackOverflow 的工作方式。 “我想做 X,请给我提示和/或示例代码”形式的问题被认为是题外话。请访问help center并阅读How to Ask,尤其是阅读Why is “Can someone help me?” not an actual question?
-
感谢您的努力。仍然不清楚@td17 你需要有 3 个相同的列值以及字段数应该等于或大于 4 对吗?
-
前3个字段有什么用?您可以只检查最后一个字段。
-
编辑了帖子,希望它更有意义..