Используя jq , я хочу
- (1) прочитать количество ключей в
package.json
в peerDependencies
- (2), еслисчет
0
, удалить из docs.json
, когда sections[].name === 'prerequesite'
Вот как я решил (1):
if [[ $(cat package.json | jq '.peerDependencies | length') = 0 ]]; then
echo "Remove page prerequesite as no peer dependencies were found"
# do (2)
fi
Вот как я начал решать(2):
cat docs.json | jq '.sections[] | select(.name != "Prerequisite")' > newSection.json
Как мне поместить newSection.json
в мой файл?
В противном случае:
Мой массив JSON выглядит следующим образом:
{
"ignore": [
"**/__tests__/**",
"**/*.test.{js,jsx,ts,tsx}",
"**/*.spec.{js,jsx,ts,tsx}",
"**/*.d.ts"
],
"sections": [{
"name": "Introduction",
"content": "docs/introduction.md"
}, {
"name": "Prerequisite",
"content": "docs/prerequisite.md"
}]
}
Я ожидаю иметь
{
"ignore": [
"**/__tests__/**",
"**/*.test.{js,jsx,ts,tsx}",
"**/*.spec.{js,jsx,ts,tsx}",
"**/*.d.ts"
],
"sections": [{
"name": "Introduction",
"content": "docs/introduction.md"
}]
}
В моем файле tmp.json
у меня есть:
Как удалить из массива раздел с именем prerequisite
с помощью командной строки?