Fish Shell:
JSON এর সাথে কাজ করা

কিভাবে:

Fish Shell নিজে থেকে JSON পার্স করা এবং তৈরি করার জন্য কোন বিল্ট-ইন ইউটিলিটিজ রাখে না। তবে, এটি jq-এর মত থার্ড-পার্টি টুলের সাথে নিখুঁতভাবে ইন্টিগ্রেট করে, যা JSON প্রসেসিংয়ের জন্য। jq একটি শক্তিশালী ও বহুমুখী কমান্ড-লাইন JSON প্রসেসর যা আপনাকে স্ট্রাকচারড ডেটা কাটা, ফিল্টার করা, ম্যাপ করা, এবং পরিবর্তন করা সম্ভব করে তোলে একটি সহজ এবং প্রকাশমূলক ভাষায়।

jq দিয়ে JSON পার্স করা

একটি JSON ফাইল পার্স করে ডেটা নেওয়ার জন্য jq ব্যবহার করে:

# ধরুন আপনার কাছে একটি JSON ফাইল আছে যার নাম 'data.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-এর সাথে Fish Shell ইন্টিগ্রেট করে JSON অপারেশন করার ক্ষমতা দেখায়। এইরূপ টুলগুলো ব্যবহার করে শেল অভিজ্ঞতাকে সমৃদ্ধ করা, আধুনিক ডেটা ফর্ম্যাটগুলো নিয়ে কাজ করার জন্য একটি শক্তিশালী পরিবেশ তৈরি করে।