我有一个像这样的ID列表:
11002
10995
48981
和制表符分隔的文件如下:
11002 Bacteria;
10995 Metazoa
我正在尝试删除包含ID列表文件中的一个ID的制表符分隔文件中的所有行。由于某种原因,以下操作无效,只返回相同的完整制表符分隔文件,而不删除任何行:
grep -v -f ID_file.txt tabdelimited_file.txt > New_tabdelimited_file.txt
我还尝试了许多其他与grep的组合,但目前我在这里画空白。
知道为什么会失败吗?
非常感谢任何帮助
答案 0 :(得分:0)
由于您使用awk
对此进行了标记,因此以下是一种方法:
awk 'BEGIN{FS=OFS="\t"}NR==FNR{ids[$1]++;next}!($1 in ids)' idFile tabFile > new_tabFile
BTW你的grep
命令是正确的。只需仔细检查您的文件是否未针对Windows进行格式化。