I'm thinking of creating a GnuPG/PGP key for myself with three User IDs work, academy, and personal. I plan to distribute the key manually, not using a key server.

However, I don't like the idea of giving away my three e-mail addresses to everyone. I would like to use the same key for all of them, but only give my friends the one with my personal e-mail address, so they won't have the urge to spam my work and academy inboxes.

So, how can I export a key from GnuPG with only the selected UID(s)?

From what I know, the exported key is divided into packets, each of them corresponding to a header, a key, a UID, or a signature. If I were able to remove the packets containing the unwanted UIDs and the corresponding signatures, my problem would be solved. But GnuPG doesn't seem to have an option for this. I also don't know if there are any potential problems this secrecy could cause.

On a related note, is there a tool that can explore the contents of a GPG export file? So far I've only found `gpg --dry-run --import --verbose file`.