Как вызвать команду для каждого файла .json в каталоге с разными расширениями файлов?

Я пытаюсь написать сценарий npm (bash) для запуска команды jsonlint -q для каждого файла .json в каталоге, содержащем файлы других расширений.

Это то, что у меня есть до сих пор, но оно работает только для первого файла json в каталоге. Различные вещи, которые я пробовал, в конечном итоге запускали его для каждого файла независимо от расширения.

ls folder/subfolder/ *.json | xargs jsonlint -q


person Username123    schedule 07.05.2018    source источник
comment
for x in *.json; do jsonlint -q "$x"; done. См. Почему не следует анализировать вывод ls и BashPitfalls # 1. Используйте set -x заранее, чтобы регистрировать фактически выполняемые команды.   -  person Charles Duffy    schedule 07.05.2018
comment
Собирается ли когда-нибудь ваше приложение разрабатывать для Windows? Если это так, вы можете подумать о решении JavaScript вместо bash.   -  person Hunter McMillen    schedule 07.05.2018
comment
@CharlesDuffy Я пробовал это, в нем нет упоминания о конкретной «папке / подпапке», также я помещаю это как npm-скрипт - он говорит, что Error: ENOENT: no such file or directory, open '$x' ... что такое $ x?   -  person Username123    schedule 07.05.2018
comment
Если вы напишете цикл for точно так, как @CharlesDuffy написал в первом комментарии, тогда $x - это имя каждого файла в списке. Обратите внимание, что ' не то же самое, что ".   -  person JawguyChooser    schedule 07.05.2018
comment
Что касается пути к каталогу: просто добавьте его к вызову цикла for: for x in folder/subfolder/*json; do   -  person JawguyChooser    schedule 07.05.2018