存在字符串时如何在两个定界符之间提取文本

听众

我有一个大数据文件,看起来像:

//
ID   1.1.1.258
DE   6-hydroxyhexanoate dehydrogenase.
CA   6-hydroxyhexanoate + NAD(+) = 6-oxohexanoate + NADH.
CC   -!- Involved in the cyclohexanol degradation pathway in Acinetobacter
CC       NCIB 9871.
//
ID   1.1.1.259
DE   3-hydroxypimeloyl-CoA dehydrogenase.
CA   3-hydroxypimeloyl-CoA + NAD(+) = 3-oxopimeloyl-CoA + NADH.
CC   -!- Involved in the anaerobic pathway of benzoate degradation in
CC       bacteria.
//
ID   1.1.1.260
DE   Sulcatone reductase.
CA   Sulcatol + NAD(+) = sulcatone + NADH.
CC   -!- Studies on the effects of growth-stage and nutrient supply on the
CC       stereochemistry of sulcatone reduction in Clostridia pasteurianum,
CC       C.tyrobutyricum and Lactobacillus brevis suggest that there may be at
CC       least two sulcatone reductases with different stereospecificities.
//

我想提取此文件中包含工作的部分anaerobic我特别想要ID行。

是否可以在ID和//之间搜索文件,以查找anaerobic输出并将其打印到新文件?如果整个部分都被打印出来,如我所料,我可以将其重新打印出来。

预期应该是

ID   1.1.1.259

要么

ID   1.1.1.259
DE   3-hydroxypimeloyl-CoA dehydrogenase.
CA   3-hydroxypimeloyl-CoA + NAD(+) = 3-oxopimeloyl-CoA + NADH.
CC   -!- Involved in the anaerobic pathway of benzoate degradation in
CC       bacteria.
//
德米特里·沙托夫(Dmitry Shatov)

用awk很简单

awk '/anaerobic/' RS='//\n' ORS='\n//' ./file.txt

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在两个定界符之间提取字符串

当两个定界符在字符串中多次出现时,提取两个定界符之间的所有文本

R语言-提取两个定界符之间的字符串

两个相同或不同定界符之间的子字符串(当定界符出现多次时)

如何匹配两个定界符之间的字符串并在后面添加字符串

如何删除两个定界符之间的字符?

Java中两个定界符之间的子字符串

PHP RegEx替换两个相同定界符之间的字符串

在字符串中的两个定界符之间应用Perl替换

仅当字符串位于两个定界符之间时,才如何将其与正则表达式匹配?

Pandas DataFrame-提取两个字符串之间的字符串,并包含第一个定界符

在两个定界符之间替换子字符串,或者直到字符串结尾

如何用两个定界符分割字符串?

提取两个相同定界符(多实例定界符)之间的行

在两个定界符之间查找文本

如何从两个定界符之间的字符串中获取一个值,然后将另一个值设置为定界符后面的值?

正则表达式以匹配两个定界符之间的确切字符串

如何在C#中将子字符串从一个定界符提取到另一个定界符?

如何将一个句子的字符串分隔为定界符(两个单词之间有空格)?

用两个定界符将字符串分成两列

我如何使用正则表达式查找并替换行中的所有文本,同时在两个定界符之间保留字符串和空格?

如何使单词/字符串的唯一部分带有两个定界符?

如何清除两个外部定界符之间的内部定界符

如何在R中的第二个定界符之后提取字符串

在两个定界符上分割字符串?

在C#中基于两个定界符分割字符串

在C ++中的两个定界符上分割字符串

在一行上的两个定界符之间(包括两个定界符)打印文本

当文本块中必须存在特定字符串时,如何使用sed / awk在两个模式之间提取文本