1

我有一个像这样的 ID 列表:

11002
10995
48981

还有一个制表符分隔的文件,如下所示:

11002   Bacteria;
10995   Metazoa

我正在尝试从 ID 列表文件中删除包含其中一个 ID 的制表符分隔文件中的所有行。由于某种原因,以下内容将不起作用,只会返回相同的完整制表符分隔文件,而不会删除任何行:

 grep -v -f ID_file.txt tabdelimited_file.txt > New_tabdelimited_file.txt

我还尝试了许多其他与 grep 的组合,但目前我在这里空白。

知道为什么这会失败吗?

任何帮助将不胜感激

4

1 回答 1

1

既然你用 标记了这个awk,这里有一种方法:

awk 'BEGIN{FS=OFS="\t"}NR==FNR{ids[$1]++;next}!($1 in ids)' idFile tabFile > new_tabFile

顺便说一句,您的grep命令是正确的。只需仔细检查您的文件是否未针对 Windows 格式化。

于 2013-07-19T16:58:35.950 回答