Использование немодифицированных файлов 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
and it doesn't print the numbers.
$#
содержит количество аргументов, поэтому используйте что-то вроде echo "$#"
, где хотите.
sleep $#
Это будет засыпать на шесть секунд в режиме on go, если имеется шесть аргументов. Вместо этого вы, вероятно, захотите спать по одной секунде за раз.
shift $1
Аргумент для shift
— это количество ведущих аргументов, которые необходимо убрать. Таким образом, это может удалить несколько аргументов за раз или выдать ошибку, если первый аргумент не является числовым.