【发布时间】:2012-11-09 09:35:23
【问题描述】:
我知道使用 perl 提取匹配行,但我想要两个文件中不匹配的行,即它们在两个文本文件中是唯一的文件。
文件1:
one|E2027.1|073467|66 ATGCTATGTTTTGCTAAT
one|E2002.1|073405|649 ATGAAAGCTTTAAAGAAA
one|E2001.1|734704|201 ATGTTTTCAGGTATTATA
one|E2025.1|073468|204 ATGAAACAGAAATATATT
one|E2028.1|073431|578 ATGTTATTTAATTATGGT
one|E2040.1|073743|862 ATGATTTATCCTAATAAT
.........~2000 行这样的行
文件2:
one|E2027.1|073467|66
one|E5005.5|000005|005
one|E2001.1|734704|201
one|E2025.1|073468|204
one|E2028.1|073431|578
one|E2040.1|073743|862
.........~2000 行这样的行
如何使用 perl 或 cmd 命令提取不匹配的行?
这里例如文件二的第 2 行是文件 2 独有的.....!!!
这是我目前所拥有的
foreach(@2) {
@org=split('\t',$_);
chomp($two=$_);
foreach(@1) {
if($_=~m/^$two.+/) {
print OUT1 "$_";
} else {
print OUT2 "$_";
}
}
}
但其他输出会提供 GB 的数据。
【问题讨论】:
-
如果您使用的是 Linux 发行版,请使用
diff。 -
@squiguy 他可能在 Windows 上。他要求
cmd解决方案。