Помощь с программой.bash

Использование немодифицированных файлов JSON (перед выполнением sedнад ними )иjq:

Количество людей онлайн:

jq -s 'map(select(.online))|length' agent-*.txt

Количество свободных слотов:

jq -s '[.[].free]|add' agent-*.txt

Количество используемых слотов:

jq -s '[.[].used]|add' agent-*.txt

Все три как один документ JSON:

jq -s '{online: map(select(.online))|length, free: [.[].free]|add, used: [.[].used]|add}' agent-*.txt

То же, что и выше, но только цифры:

jq -s '(map(select(.online))|length), ([.[].free]|add), ([.[].used]|add)' agent-*.txt

0
29.07.2020, 02:40
1 ответ

and it doesn't print the numbers.

$#содержит количество аргументов, поэтому используйте что-то вроде echo "$#", где хотите.

sleep $#

Это будет засыпать на шесть секунд в режиме on go, если имеется шесть аргументов. Вместо этого вы, вероятно, захотите спать по одной секунде за раз.

shift $1

Аргумент для shift— это количество ведущих аргументов, которые необходимо убрать. Таким образом, это может удалить несколько аргументов за раз или выдать ошибку, если первый аргумент не является числовым.

1
18.03.2021, 23:16

Теги

Похожие вопросы