Если предположить, что package.json содержит объект JSON, с фильтром можно обойтись:
.scripts.build
Для надежности, возможно, было бы целесообразно использовать: .scripts.build?
Например, если вы хотите найти все файлы package.json под pwd, в которых отсутствует .scripts.build, вы можете воспользоваться стратегией, предложенной @JeffMercado:
find . -name package.json | while read f
do
jq -e '.scripts.build?' "$f" > /dev/null || echo "$f"
done
Или вы можете полностью пропустить тест оболочки, например, Вот лучшее решение только что упомянутой задачи:
find . -name package.json | while read f
do
jq -r 'select(.scripts.build? | not)
| input_filename' "$f"
done