Solución:
Usar gpg --list-secret-keys --with-colons --fingerprint
para generar la lista de huellas digitales en un formato fácilmente analizable. Agarra las líneas del formulario fpr:::::::::xxxx:
que corresponden a las claves que desea eliminar, y pasar las huellas dactilares (el xxxx
) para gpg --batch --delete-secret-keys
.
El siguiente comando genera todas las huellas digitales de la clave secreta. ¡Asegúrese de seleccionar solo los que desea eliminar!
gpg --list-secret-keys --with-colons --fingerprint | sed -n 's/^fpr:::::::::([[:alnum:]]+):/1/p'
Sé que este tema es antiguo y que la respuesta se parece un poco a la de Gilles, pero creo que responde a la pregunta por completo (ya que tuve el mismo tipo de problemas que OP):
for i in `gpg --with-colons --fingerprint | grep "^fpr" | cut -d: -f10`; do gpg --batch --delete-secret-keys "$i" ; done
Combiné las respuestas de Gilles y Dolanor en esta única línea que es útil en caso de que desee eliminar una clave específica:
gpg --fingerprint --with-colons ${GPG_KEY} |
grep "^fpr" |
sed -n 's/^fpr:::::::::([[:alnum:]]+):/1/p' |
xargs gpg --batch --delete-secret-keys
No responde a la pregunta original, pero podría ser útil para otra persona.