首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWK:如何清理bibtex文件?

AWK:如何清理bibtex文件?
EN

Stack Overflow用户
提问于 2015-09-29 07:22:11
回答 3查看 308关注 0票数 1

我有一个bibtex文件(从Zotero导出),我希望通过删除特定字段来清理它。

例如,从以下条目中删除文件字段:

代码语言:javascript
复制
@inproceedings{sridharan_fast_2008,
    title = {Fast {Rates} for {Regularized} {Objectives}.},
    urldate = {2014-03-26},
    booktitle = {{NIPS}},
    author = {Sridharan, Karthik and Shalev-Shwartz, Shai and Srebro, Nathan},
    year = {2008},
    pages = {1545--1552},
    file = {3400-fast-rates-for-regularized-objectives.pdf:/home/johnros/.zotero/zotero/66g0wvis.default/zotero/storage/6ND67P5F/3400-fast-rates-for-regularized-objectives.pdf:application/pdf}
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-29 08:55:45

使用grep可以很容易地做到这一点:

代码语言:javascript
复制
grep -v "^\s*file =" bibtext.txt

以前记录上的后缀逗号不应该是问题.请看这里

或者,如果你真的很喜欢awk

代码语言:javascript
复制
awk '!/file = /' bibtext.txt
票数 4
EN

Stack Overflow用户

发布于 2015-09-29 09:18:16

我不熟悉bibtex格式,如果有一些工具,可以对这些格式进行更好的编辑,那么您应该选择这些工具。

如果您想使用awk来处理它,下面是一个gnu awk一行:

代码语言:javascript
复制
awk -v RS=',\n\\s*file\\s*=\\s[^\\n]*' '7' file

基本上,它只是使用RS变量,以删除file=行(也是前面的逗号"," ),这样生成的输出仍然是有效的bibtex格式。(我希望是这样)。

用您的示例进行测试:

代码语言:javascript
复制
kent$  cat f
@inproceedings{sridharan_fast_2008,
    title = {Fast {Rates} for {Regularized} {Objectives}.},
    urldate = {2014-03-26},
    booktitle = {{NIPS}},
    author = {Sridharan, Karthik and Shalev-Shwartz, Shai and Srebro, Nathan},
    year = {2008},
    pages = {1545--1552},
    file = {3400-fast-rates-for-regularized-objectives.pdf:/home/johnros/.zotero/zotero/66g0wvis.default/zotero/storage/6ND67P5F/3400-fast-rates-for-regularized-objectives.pdf:application/pdf}
}

kent$  awk -v RS=',\n\\s*file\\s*=\\s[^\\n]*' '7' f
@inproceedings{sridharan_fast_2008,
    title = {Fast {Rates} for {Regularized} {Objectives}.},
    urldate = {2014-03-26},
    booktitle = {{NIPS}},
    author = {Sridharan, Karthik and Shalev-Shwartz, Shai and Srebro, Nathan},
    year = {2008},
    pages = {1545--1552}

}
票数 2
EN

Stack Overflow用户

发布于 2017-11-06 16:21:49

我知道这是一个更老的问题,但对于那些仍然发现这个问题的人来说:有一个对Zotero (Zotero Better BibTeX)的扩展,允许您在Zotero内部完成这个任务。完全公开:我是这个扩展的作者。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32838020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档