如何将 .bib 从 Jabref-4.x 转换(降级)回 Jabref-3.8.2 格式?

如何将 .bib 从 Jabref-4.x 转换(降级)回 Jabref-3.8.2 格式?

Jabref-4.1 仍不如 Jabref-3.8 稳定。Jabref 存储了一些元数据,例如 Bibtex 数据库注释中的组。

不幸的是,Jabref-4.x 改变了文件格式。我不确定这是否只是组保存格式的问题。

如何将 Linux 系统上的 .bib 数据库从 Jabref-4.x 格式转换回最终版本 3.8.2 使用的旧格式?

是否有任何功能将会丢失,因为它在旧的文件格式中不为人所知?

更新:感谢您迄今为止提供的有益评论。我已经点赞了几个。我将在接下来的几天内进行审查,也许我的问题无效或需要改进。

答案1

我的 v3.8.2 中的 bib 文件与 v4.1 中的略有不同。唯一的区别在于@Comment{jabref-meta

要将 bib 文件降级为与 v3.8.2 兼容的格式,只需进行 3 处替换。它们是:

  1. grouping->groupstree
  2. StaticGroup->ExplicitGroup
  3. 删除所有出现的\;1\;\;\;

仅供参考,在我的 v3.8.2 bib 文件中,组信息与条目相关联---groups条目的字段记录了相关联的组(以逗号分隔)。组注释仅存储层次结构。

例如

@Article{LEcuyer-2007a,
  author     = {L'Ecuyer, Pierre and Simard, Richard},
  title      = {TestU01: A C Library for Empirical Testing of Random Number Generators},
  journal    = {ACM Trans. Math. Softw.},
  year       = {2007},
  volume     = {33},
  number     = {4},
  pages      = {22:1--22:40},
  month      = aug,
  doi        = {10.1145/1268776.1268777},
  groups     = {PRNG},
  numpages   = {40},
  publisher  = {ACM},
}

答案2

感谢@Eli4ph 的正确答案。如果您遇到同样的问题,这里有一个用于转换的简短 bash 脚本。请不要忘记为 Eli4ph 的答案点赞。

#!/bin/bash
sed -i 's/grouping/groupstree/g' $1
sed -i 's/StaticGroup/ExplicitGroup/g' $1
sed -i 's|\\;1\\;\\;\\;||g' $1

相关内容