I have a master .bib file (call it master.bib) holding >2500 entries. I've changed research directions since it was first created, and I would like to remove the older entries from my master file using a file from 2010 called old.bib.

In essence this is something like the set difference of master.bib - old.bib.

One way to do this might be to add old.bib to master.bib and then use a tool with duplicate detection to remove both duplicates.

Is there a better way to do this, perhaps with bibtool?

Aside: foolishly I somehow lost the 'date added' fields in moving around between reference managers.

  • 3
    Which reference manager do you use at present?
    – Mico
    Commented Dec 15, 2015 at 17:23
  • 2
    grep for the keys, then gawk (or even sed) to delete them from a copy of the file.
    – cfr
    Commented Dec 15, 2015 at 18:31
  • I currently use BibDesk.
    – Neil
    Commented Dec 15, 2015 at 20:14
  • no, the grep approach seems best.
    – Neil
    Commented Jun 29, 2016 at 23:48

1 Answer 1


If you've been using BibDesk the entire time, you can avoid messing with other programs like BibTool altogether.

BibDesk, by default, includes a Date-Added field for every publication. You could just order the entire library by that field, and then select and delete the old publications.

Here's a quick step by step. I'll assume you already have launched BibDesk and loaded your master.bib.

  1. Click "View" in the menu bar at the very top of the screen. Highlight "Columns" and click "Add Other".
  2. Type Date-Added and then click "Add".
  3. This adds a new column header in your interface. If you click that column header, it will order your publications chronologically. (Depending on your set-up, you may need to scroll to the right to see the new column.)
  4. Select the old ones and delete away!
  • 1
    As mentioned, I managed to lose those fields, but this definitely is a good tip.
    – Neil
    Commented Mar 16, 2018 at 4:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .