Bir ülke kodu listesiyle bir .txt dosyasını ayrıştırmak için jq'yi kullanmak ve bir json nesnesindeki değere yazmak istiyorum. İşte jq read .txt dosyasını okuyun ve değerleri json dosyasına yazın
ben ne var bugüne kadarcat myfile.json |
jq -R -f test_id.txt 'select(.country == []).country = "test_id.txt"' > newfile.json
.txt dosyası bu
"NSC"
"KZC"
"KCC"
"KZL"
"NZG"
"VRU"
"ESM"
"KZF"
"SFU"
"EWF"
"KQY"
"KQV"
benziyor ve benim json İşte bu
{
"scsRequestId": null,
"includeMetadata": true,
"includeHoldings": true,
"country": [],
"region": [],
"oclcSymbol": []
}
benziyor hata I olduğunda
jq: error: syntax error, unexpected QQSTRING_START, expecting $end (Unix shell quoting issues?) at <top-level>, line 2:
"KZC"
jq: 1 compile error`
Ülke kodlarının ülke dizisine gitmesini istiyorum.
Herhangi bir yardım
Girdinizin metin dosyasına tırnak var bir nedeni var mı? Bir JSON dizesi değilse, neden olduğu gibi alıntı yapalım? –
@CharlesDuffy Bu şekilde aldım. Seçime göre değil. Benzer bir dosyayı tırnak işaretleri olmadan denedim ancak bu da işe yaramıyor. İşlemleri jq ile işlemeden önce çıkarabilirim. – mjo
Düzenlemenizin cevabımdan daha yeni olduğunu fark ettim. Bu sorunun cevabın yanlış yorumlanmasıyla ilgili olduğunu söylemek mümkün mü? [Onu çalıştırdığımda, liste * ülke dizisine girer; İlk kod revizyonundaki "bölgeler" olarak adlandırılan değişken, çıktıyı etkilemediği için anlamsızdır]. –