You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
410 B
26 lines
410 B
#!/bin/sh
|
|
set -e
|
|
|
|
usage() {
|
|
echo "usage: $0 [-h] [-r] [NAME...]" >&2
|
|
}
|
|
|
|
reverse=
|
|
while getopts hr opt; do
|
|
case "$opt" in
|
|
r) reverse=yes;;
|
|
h) usage; exit 0;;
|
|
?) usage; exit 255;;
|
|
esac
|
|
done
|
|
shift $(($OPTIND-1))
|
|
|
|
spec="[.[\"$1\"]"; shift
|
|
for arg; do
|
|
spec="$spec, .[\"$arg\"]"
|
|
done
|
|
spec="$spec]"
|
|
|
|
cmd="sort_by($spec)"
|
|
[ -z "$reverse" ] || cmd="$cmd | reverse"
|
|
exec jq -M -s -c "$cmd[]"
|
|
|