我有一个制表符分隔文件,其中包含20列和40行
missense
nonsense
5' UTR
3' UTR
所以他们在第9列,并且我要求只有具有特定值的行保留在我的输出中但是在执行此操作时我没有得到输出 因此,如果该值是错误或无意义,请保留这些行,否则将其删除
awk -F"\t" '$9 == "missense" || $9 == "nonsense" ' input > output
我也试过
awk -F"\t" '$9 == "missense"' || ' $9 == "nonsense" ' input > output
所有答案都是0字节。
答案 0 :(得分:0)
您的文件看起来与标签一起有空格。试试这个:
awk -F'[[:space:]]+' '$9 == "missense" || $9 == "nonsense"' input > output
答案 1 :(得分:0)
考虑使用匹配而不是相等:
awk -F"\t" '$9 ~ "missense" || $9 ~ "nonsense" ' input > output
如果您希望从输出中省略“this-missense-too”,这不是一个好的选择,但是否则会避免前导或尾随空格等问题。