SQ(1)
π¦ SQ(1) π¦
okay bestie, gather round π this is the manual page for sq-keyring-filter, a User Command (section 1, that's what the 1 is doing there, iykyk). it's all about joining keys into a keyring while applying a filter β¨ no cap, it's lowkey iconic. let's get into it π«Ά
πΈ NAME πΈ
sq-keyring-filter β join keys into a keyring applying a filter π
π SYNOPSIS π
sq keyring filter [OPTIONS] FILE
β¨ DESCRIPTION β¨
Join keys into a keyring applying a filter. that's the whole vibe π
so like, you can use this to filter keys based on given predicates β for example, whether they have a user id containing an email address with a certain domain π and on top of that, the keys can be pruned so they only include components matching the predicates. very demure, very mindful.
if no filters are supplied, everything matches. the filter said "everyone's welcome" π₯°
if multiple predicates are given, they are or'ed, i.e., a key matches if any of the predicates match. to require all predicates to match, you chain multiple invocations of this command together π see EXAMPLES for inspiration, bestie, they ate.
β οΈ note: this command is considered experimental and may change in future releases π to acknowledge this, you must give the --experimental flag when invoking this command. no flag, no service π
π OPTIONS π
π§ Subcommand options π§
--cert=FINGERPRINT|KEYIDβ match on certificate fingerprints and key IDs β¨ matches on primary keys, including those certificates that match the given fingerprint or key ID π--domain=FQDNβ match on email domain FQDN π it parses user IDs into name and email address, then case-sensitively matches on the domain of the email address, and it requires an exact match. not a vibe match, an exact one fr fr.--email=ADDRESSβ match on email ADDRESS π§ same deal: it parses user IDs into name and email address and case-sensitively matches on the email address, requiring an exact match.--experimentalβ opt-in to using an experimental feature π§ͺ this command is considered experimental and may change in future releases. to acknowledge this, you must give the--experimentalflag when invoking this command.
in the future, we may stabilize this command. when that happens, --experimental will no longer be required, but will be ignored silently π€« (it'll just be there, chilling, main character energy, no complaints)
--key=FINGERPRINT|KEYIDβ match on (sub)key fingerprints and key IDs π matches on both primary keys and subkeys, including those certificates that match the given fingerprint or key ID.--name=NAMEβ match on NAME π·οΈ it parses user IDs into name and email and case-sensitively matches on the name, requiring an exact match.--output=FILEβ write to FILE or stdout if omitted π
[default: -]
--prune-certsβ remove certificate components not matching the filter βοΈ--to-certβ convert any keys in the input to certificates π converting a key to a certificate removes secret key material from the key thereby turning it into a certificate. so like, the secret stuff is gone gone π--userid=USERIDβ match on USERID πͺͺ case-sensitively matches on the user ID, requiring an exact match.FILEβ read from FILE or stdin if omitted π
π Global options π
see sq(1) for a description of the global options.
π₯ EXAMPLES π₯
convert all keys to certificates (i.e. remove any secret key material).
sq keyring filter --experimental --to-cert certs.pgp
get all certificates with a user ID on example.org.
sq keyring filter --experimental --domain=example.org \
certs.pgp
get all certificates with a user ID on example.org or example.net.
sq keyring filter --experimental --domain=example.org \
--domain=example.net certs.pgp
get all certificates with a name user ID matching Romeo.
sq keyring filter --experimental --name=Romeo certs.pgp
get all certificates with a name user ID matching Romeo on example.org.
sq keyring filter --experimental --domain=example.org \
certs.pgp \
| sq keyring filter --experimental --name=Romeo
get all certificates with a user ID on example.org, pruning other user IDs.
sq keyring filter --experimental --domain=example.org \
--prune-certs certs.pgp
β SEE ALSO β
sq(1), sq-keyring(1) π
for the full documentation see <https://book.sequoia-pgp.org/> π
π VERSION π
1.5.0
and that's the whole page, bestie π«Ά this lil' manual came to you from Sequoia PGP, version 1.5.0 β so go forth, filter those keys, give --experimental your acknowledgement, and slay π
β¨ bye!!
π¦ where this page comes from
- fedora 43: sequoia-sq 1.5.0-1.fc43 Β· LGPL-2.0-or-later AND Apache-2.0 AND BSL-1.0 AND BSD-3-Clause AND MIT AND MPL-2.0 AND Unicode-3.0 AND Unicode-DFS-2016 AND Zlib AND bzip2-1.0.6 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT)
- fedora 44: sequoia-sq 1.5.0-1.fc44 Β· LGPL-2.0-or-later AND Apache-2.0 AND BSL-1.0 AND BSD-3-Clause AND MIT AND MPL-2.0 AND Unicode-3.0 AND Unicode-DFS-2016 AND Zlib AND bzip2-1.0.6 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT)
- nixpkgs unstable: sequoia-sq 1.5.0
- opensuse-leap 16.0: sequoia-sq 1.5.0-bp160.1.1 Β· LGPL-2.0-or-later
- opensuse-leap 16.0: sequoia-sq 1.5.0-bp160.1.1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms