Думаю, вы просто забыли сделать torbrowser
исполняемым файлом.
sudo chmod a+x /usr/bin/torbrowser
Использование только jq
:
jq -s 'map(length) | add'./*.json
-s
/ --slurp
заставляет jq
считывать свой ввод как единый массив, запуская указанный фильтр только один раз против него. map
используется для запуска length
для каждого элемента этого виртуального массива, возвращая массив чисел, и add
, наконец, суммирует их.
Чтобы также убедиться, что не превышено ограничение длины командной строки (, но обратите внимание, что это также будет рекурсивно обрабатывать файлы в подкаталогах 1):
find. -name "*.json" -exec jq 'length' {} + | jq -s 'add'
Найденные файлы передаются в jq 'length'
пакетами, размер которых зависит от максимальной длины командной строки, разрешенной в вашей системе. Так как find
может запускать jq
более одного раза, его ввод не будет надежно работать, и вместо этого его вывод направляется во второй (slurp )jq
.
1В нескольких вопросах и ответах на этом сайте показано, как предотвратить find
переход в каталоги; например, Использование «найти» не -рекурсивно?
Вы можете использовать простую команду awk
, например
jq length./*.json | awk '{sum=sum+$0} END{print sum}'