使用GREP从数据库文件(.pdb)生成表

使用GREP从数据库文件(.pdb)生成表,grep,Grep,我拥有的是一个包含PDB文件的文件夹,其中包含以下模式的信息: *HEADER 'protein date ID' TITLE 'title of document here AUTHOR ' the authors listed here' AUTHOR ' continued..' SOURCE 'source organism (s)' SOURCE 'continued' SOURCE 'continued' COMPND 'compound or complex studied'

我拥有的是一个包含PDB文件的文件夹,其中包含以下模式的信息:

*HEADER 'protein date ID'
TITLE  'title of document here
AUTHOR ' the authors listed here' 
AUTHOR ' continued..'
SOURCE 'source organism (s)'
SOURCE 'continued'
SOURCE 'continued'
COMPND 'compound or complex studied'
COMPND 'continued'
正如您所见,此文件中的源信息和其他信息扩展为多行。我想使用GREP命令在这些PDB文件中创建一个包含这些信息的表。我无法将多行组合成一行,并生成包含标题、作者、源等列的表

我这样做的原因是能够在表格中显示PDB文件中的信息,并通过作者或来源的新研究进行过滤,这将在实际网站上节省大量时间

谢谢

我不认为grep是正确的工具,我建议使用sed或awk。下面是一个sed解决方案,也可能不是一个完整的解决方案,具体取决于您所需的输出:

sed ':r;$!{N;br};:s;s/\nSOURCE//2;ts' file.pdb
但它只处理带有源代码的行

以下是一个更通用的版本:

sed ':r;$!{N;br};:s;s/\(\n[A-Z]\+\)\(.*\)\1/\1\2/;ts' file.pdb