我有一个包含许多条目的大型 bibtex 文件,其中每个条目都有一般结构
@ARTICLE{AuthorYear,
item = {...},
item = {...},
item = {...},
etc
}
Run Code Online (Sandbox Code Playgroud)
(在某些情况下ARTICLE
可能是不同的词,例如BOOK
)
我想要做的是编写一个简单的脚本(最好只是一个 shell 脚本)来提取给定 AuthorYear 的条目并将它们放入一个新的 .bib 文件中。
我可以想象,我可以通过 AuthorYear 识别条目的第一句话,通过单个结束识别最后一句,}
并且可能用于sed
提取条目,但我真的不知道如何准确地做到这一点。有人能告诉我我将如何实现这一目标吗?
它可能应该是这样的
sed -n "/AuthorYear/,/\}/p" file.bib
Run Code Online (Sandbox Code Playgroud)
但是由于}
条目的第一项中的关闭而停止,因此给出了以下输出:
@ARTICLE{AuthorYear,
item = {...},
Run Code Online (Sandbox Code Playgroud)
所以我需要识别是否}
是一行中唯一的字符,并且只有在这种情况下 'sed' 停止阅读。