【发布时间】:2016-11-06 01:11:14
【问题描述】:
我想从 linux 中的文本文件中提取所有行,这些行在特定列(第 4 列)中包含特定数字(在本例中为 9913)。这是一个制表符分隔的文件,所以我称它为列,虽然我不确定它是否是。
在某些情况下,第 4 列中只有一个数字,但在其他行中,此列中有多个数字(例如 9913;4444;5555)。我想获取数字 9913 出现在第 4 列中的任何行(无论它是否是唯一的数字或在列表中)。如何将所有包含数字 9913 的行放在第 4 列中,并将它们放在自己的文件中?
这是我尝试过的一个示例:
猫文件.txt | grep 9913 > newFile.txt
结果是以下几种的混合:
CDR1as CDR1as ENST00000003100.8 9913 AAA-GGCAGCAAGGGACUAAAA(我想要的文件)
CDR1as CDR1as ENST00000399139.1 9606 GUCCCCA................(文件前。我不想要)
调用特定列时我没有得到任何结果。由下面的助手显示,代码无法识别我认为的列,并且在使用 awk 时得到空白文件。
awk '$4 == "9913"' file.txt > newfile.txt
不会让我将数据传输到新文件。
谢谢
【问题讨论】:
-
显示你到目前为止所尝试的。
-
您是否也希望选择第二种情况(例如 9913;4444;5555)?另外你的字段分隔符是什么?
-
是的,我刚刚编辑了上面的对话以更清楚一点。我希望将这两种情况都包括在内以供选择。