我有一个包含 4 列和 7,000 行的大文件。我需要删除第二列的开头与第四列的开头相同的行。
输入:
Gator_locus75 AATTCCATGTACG Gator_locus23 CTAGAGGAAGT
Gator_locus18 AATTCCATTATGG Gator_locus14 AATTCAAAAAAT
Gator_locus13 CTAGAACCCACC Gator_locus72 CTAGAATGTATG
Gator_locus16 AATTCATCCTCT Gator_locus15 CTAGATTGCCAA
Gator_locus24 CTAGAGCTGCTG Gator_locus12 AATTCAGTCCAC
输出:
Gator_locus75 AATTCCATGTACG Gator_locus23 CTAGAGGAAGT
Gator_locus16 AATTCATCCTCT Gator_locus15 CTAGATTGCCAA
Gator_locus24 CTAGAGCTGCTG Gator_locus12 AATTCAGTCCAC
我需要删除第二列的字符串以“AATT”开头的行和同一行第四列中的字符串以“AATT”开头的行。当第二列中的字符串以“CTAG”开头并且第四列中的字符串以“CTAG”开头时,我还需要做同样的事情。
要打印第 2 列的前 4 个字符不等于第 4 列的前 4 个字符的行:
这使用主代码作为“测试”来查看是否应打印一行;没有明确的操作部分,因为默认打印操作是我们想要的。主要代码只是从每一列中提取前四个字符并进行比较。
要删除第二个字段以 开头
AATT
且第四个字段以 开头的行AATT
,与 相同CATG
:作为更通用的解决方案: