다음 구조의 json 번역 파일이 있습니다.
{
"STRING_ID_1": {
"en": "Some englisch text.",
"de": "Some german text."
},
"STRING_ID_2": {
"en": "Some other englisch text.",
"de": "Some other german text."
},
...
}
이를 입력으로 사용하여 "en.json"과 "de.json"이라는 두 개의 파일을 생성해야 합니다. 형식은 다음과 같아야 합니다.
{
"STRING_ID_1": "Some englisch text.",
...
}
그리고
{
"STRING_ID_1": "Some german text.",
...
}
제 생각에는 이것이 jq
여기서 사용하고 싶은 도구입니다. 누구든지 나에게 올바른 명령을 제공할 수 있습니까?
답변1
$ cat file.json
{
"STRING_ID_1": {
"en": "Some englisch text.",
"de": "Some german text."
},
"STRING_ID_2": {
"en": "Some other englisch text.",
"de": "Some other german text."
}
}
$ jq 'with_entries(.value = .value.en)' file.json
{
"STRING_ID_1": "Some englisch text.",
"STRING_ID_2": "Some other englisch text."
}
$ jq 'with_entries(.value = .value.de)' file.json
{
"STRING_ID_1": "Some german text.",
"STRING_ID_2": "Some other german text."
}
출력을 저장하려면 다른 파일 이름으로 리디렉션하세요.
이 변환은 각 최상위 키의 값을 키-값 쌍의 개체가 아닌 영어(또는 독일어) 문자열의 값으로 다시 작성합니다.