我有一个标签分隔的文本文件,就像这个小例子:
chr1 100499714 100499715 1
chr1 100502177 100502178 10
chr1 100502181 100502182 2
chr1 100502191 100502192 18
chr1 100502203 100502204 45
在我要制作的新文件中:
1-我想根据4th
列选择行,这意味着4th
列的值至少为10,否则我将保留整行,否则将被过滤掉。
2-在下一步中将删除第4列。 结果将如下所示:
chr1 100502177 100502178
chr1 100502191 100502192
chr1 100502203 100502204
为了得到这样的结果,我在awk
中尝试了以下代码:
cat input.txt | awk '{print $1 "\t" $2 "\t" $3}' > out.txt
但我不知道如何实施过滤步骤。你知道如何修复代码吗?
答案 0 :(得分:2)
只需在输出前输入条件:
cat input.txt | awk '$4 >= 10 {print $1 "\t" $2 "\t" $3}' > out.txt
答案 1 :(得分:0)
这是另一个,如果你有更多的字段可能会更好
$ awk '$NF>=10{sub(/\t\w+$/,""); print}' file