awk:过滤掉具有0,“ - ”或“NC”的lins

时间:2013-12-19 18:38:53

标签: csv filter awk

我的制表符分隔文件包含很多行,我想过滤掉那些有0, - 或“NC”的行。我正在使用这个awk代码:

awk '{for (i=5; i<=14; ++i) if($i !=0 && $i !="--" && $i !="NC") {print;next}}'

从第5列到第14列过滤掉。

我不确定这是否适合我的目的。有些专家可以检查一下我的代码吗?感谢

1 个答案:

答案 0 :(得分:1)

如果您要在第5到14栏中跳过包含0--NC的行,您可能需要执行以下操作。每次在字段5到14中遇到0--NC以外的任何内容时,您现有的代码都会打印一行

awk '{for (i=5; i<=14; ++i) if($i == 0 || $i == "--" || $i == "NC"){next}};{print}'