我需要解析 .fasta 文件(大数据),或者您可能会想到具有特定结构的 .txt 文件。为了这个目标我想使用linux。我想“逐行”读取文件。我所说的行并不是指每一行,而是指按照特定模式反复出现在文本中的特定行。醒目的图案就是标志>
。我想要读取的行是位于包含该符号的行之间的行。不幸的是,所需的行占用了两行。我对linux没有经验。所以,我需要一些帮助。最终目标是将所需的行重定向到新文件中或只是读取它们。非常感谢您的任何代码建议。文本中的几行如下所示:
>ERR194147.15240306 HSQ1004:134:C0D8DACXX:1:1204:4727:27246/1
AGCCATTTTCCAGATGAGAAAGTCAAGGTTTGGAGAGAGATTCTGTGCCTTTGAGCAGGCTTGGGGGTCTGTAAGAAGCA
GGGCCACAGTTCAAACCTAG
>ERR194147.15950974 HSQ1004:134:C0D8DACXX:2:1307:21234:48802/1
ATGCATACTTCATGCACCCCAGCCCCCGTGGGCAGCTATTGGGTTTGCTATCTAATCTCTTTCTCCACCAGCTACCCTTC
TTTATCAACTTATATGTTTA
答案1
您可以使用该工具抓取与图案匹配的线条grep
。man grep
详情请参阅
grep -v '^>' source_file > output_file
这使用正则表达式 (RE) 来匹配行的>
开头 ( )。^
该-v
选项反转匹配,因此仅输出不匹配的行。最后> output_file
是一个标准 shell 结构,用于将输出发送到指定文件