6

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 Dec 15 '15 at 17:23
  • 2
    grep for the keys, then gawk (or even sed) to delete them from a copy of the file. – cfr Dec 15 '15 at 18:31
  • I currently use BibDesk. – Neil Dec 15 '15 at 20:14
  • no, the grep approach seems best. – Neil Jun 29 '16 at 23:48
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 Mar 16 '18 at 4:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.