Fish Shell:
JSON के साथ काम करना

कैसे:

फिश शेल, खुद से, JSON को पार्स और उत्पन्न करने के लिए निर्मित सहायक उपकरणों के साथ नहीं आता है। हालांकि, यह jq जैसे तृतीय-पक्ष उपकरणों के साथ सहजता से एकीकृत होता है, जो JSON प्रक्रिया करने के लिए है। jq एक शक्तिशाली और बहुमुखी कमांड-लाइन JSON प्रोसेसर है जो आपको सरल और व्यक्त भाषा के साथ संरचित डेटा को काटने, फिल्टर करने, मैप करने, और रूपांतरित करने की अनुमति देता है।

jq के साथ JSON पार्स करना

एक JSON फाइल को पार्स करने और jq का उपयोग करके डेटा निकालने के लिए:

# मान लें कि आपके पास 'data.json' नाम की एक JSON फाइल है जिसकी सामग्री है: {"name":"Fish Shell","version":"3.4.0"}
cat data.json | jq '.name'
# नमूना आउटपुट
"Fish Shell"

jq के साथ JSON उत्पन्न करना

शेल वेरिएबल्स या आउटपुट्स से JSON सामग्री बनाना:

# वेरिएबल्स से JSON ऑब्जेक्ट बनाएँ
set name "Fish Shell"
set version "3.4.0"
jq -n --arg name "$name" --arg version "$version" '{name: $name, version: $version}'
# नमूना आउटपुट
{
  "name": "Fish Shell",
  "version": "3.4.0"
}

JSON संग्रहों की फ़िल्टरिंग

मान लें कि हमारे पास versions.json नामक फाइल में ऑब्जेक्ट्स का एक JSON ऐरे है:

[
  {"version": "3.1.2", "stable": true},
  {"version": "3.2.0", "stable": false},
  {"version": "3.4.0", "stable": true}
]

केवल स्थिर संस्करणों के लिए इस ऐरे को फ़िल्टर करने के लिए:

cat versions.json | jq '.[] | select(.stable == true) | .version'
# नमूना आउटपुट
"3.1.2"
"3.4.0"

उपलब्ध कराए गए उदाहरण फिश शेल के साथ jq को एकीकृत करने की शक्ति का प्रदर्शन करते हैं। इस तरह के उपकरणों का लाभ उठाना शेल अनुभव को समृद्ध करता है, इसे आधुनिक डेटा प्रारूपों के साथ हैंडलिंग के लिए एक प्रभावशाली वातावरण बनाता है।