A Golang BibTeX package and collection of related command line utilities.
Compiled versions are provided for Linux (amd64), Mac OS X (amd64), Windows 10 (amd64) and Raspbian (ARM7). See https://github.com/caltechlibrary/bibtex/releases.
Output my.bib file without comment entries
bibfilter -exclude=comment my.bib
Output only articles from my.bib
bibfilter -include=article my.bib
Output only articles and conference proceedings from my.bib
bibfilter -include=article,inproceedings my.bib
Output a new bibtex file based on the contents of two other bibtex files.
Join of two bibtex files
bibmerge -join mybib1.bib mybib2.bib
Intersection of two bibtex files
bibmerge -intersect mybib1.bib mybib2.bib
Difference (A - B), includes items in A but not found in B of two bibtex files.
bibmerge -diff mybib1.bib mybib2.bib
Excluse difference (symmetric difference, inverse of intersection) of two bibtex files
bibmerge -exclusive mybib1.bib mybib2.bib
Symmetric versus asymmetric differences