summaryrefslogtreecommitdiffstats
path: root/bin/cac-get-server-by
diff options
context:
space:
mode:
Diffstat (limited to 'bin/cac-get-server-by')
-rwxr-xr-xbin/cac-get-server-by17
1 files changed, 17 insertions, 0 deletions
diff --git a/bin/cac-get-server-by b/bin/cac-get-server-by
new file mode 100755
index 000000000..b6d6b4ba3
--- /dev/null
+++ b/bin/cac-get-server-by
@@ -0,0 +1,17 @@
+#! /bin/sh
+set -euf
+
+cac-listservers \
+ | jq \
+ --arg k "$1" \
+ --arg v "$2" \
+ '
+ map(select(.[$k]==$v)) |
+ if (. | length) == 0 then
+ null
+ elif (. | length) == 1 then
+ .[0]
+ else
+ .
+ end
+ '