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

कैसे:

Fish Shell में YAML को पार्स करने के लिए अंतर्निहित समर्थन नहीं है, लेकिन आप yq (एक हल्का और पोर्टेबल कमांड-लाइन YAML प्रोसेसर) जैसे तृतीय-पक्ष उपकरण का उपयोग करके YAML डेटा को संभाल सकते हैं।

yq की स्थापना (अगर पहले से स्थापित नहीं है):

sudo apt-get install yq

एक YAML फाइल से मान पढ़ना: मान लें आपके पास config.yaml नामक एक YAML फ़ाइल है जिसमें निम्नलिखित सामग्री है:

database:
  host: localhost
  port: 3306

डेटाबेस होस्ट पढ़ने के लिए, आप उपयोग करेंगे:

set host (yq e '.database.host' config.yaml)
echo $host

नमूना आउटपुट:

localhost

YAML फ़ाइल में एक मान अपडेट करना: port को 5432 में अपडेट करने के लिए, उपयोग करें:

yq e '.database.port = 5432' -i config.yaml

अपडेट की पुष्टि करें:

yq e '.database.port' config.yaml

नमूना आउटपुट:

5432

एक नई YAML फ़ाइल लिखना: पूर्वनिर्धारित सामग्री के साथ एक नई new_config.yaml बनाने के लिए:

echo "webserver:
  host: '127.0.0.1'
  port: 8080" | yq e -P - > new_config.yaml

यह yq का उपयोग करके और सुंदर प्रिंट (-P फ्लैग) एक नई YAML फ़ाइल में एक स्ट्रिंग को प्रक्रिया करता है।

जटिल संरचनाओं का पार्सिंग: अगर आपके पास एक अधिक जटिल YAML फ़ाइल है और आपको नेस्टेड अर्रेज़ या ऑब्जेक्ट्स निकालने की आवश्यकता है, तो आप:

echo "servers:
  - name: server1
    ip: 192.168.1.101
  - name: server2
    ip: 192.168.1.102" > servers.yaml

yq e '.servers[].name' servers.yaml

नमूना आउटपुट:

server1
server2

yq का उपयोग करके, Fish Shell विभिन्न स्वचालन और कॉन्फ़िगरेशन कार्यों के लिए YAML दस्तावेज़ों के माध्यम से नेविगेट करना और उनको हेरफेर करना सरल बनाता है।