CLI टूल्स को जोड़कर अपनी जादुई छड़ी बनाना (feat. Ruby)
(hackers.pub)-
लेख का सार
- Bash स्क्रिप्ट के साथ Ruby को मिलाकर CLI टूल ऑटोमेशन करने की विभिन्न तरकीबें पेश की गई हैं।
- अन्य scripting languages भी इस्तेमाल की जा सकती हैं, लेकिन Ruby की readability और flexibility पर ज़ोर दिया गया है।
-
Bash की जगह Ruby क्यों?
- Ruby स्पष्ट data types (integer, floating-point, string, array, hash आदि) उपलब्ध कराती है, जिससे code readability बेहतर होती है।
- macOS users के लिए, अगर homebrew इंस्टॉल है तो साथ में आने वाली Ruby के कारण इसका उपयोग और भी सुविधाजनक हो जाता है।
- CocoaPod, Fastlane जैसी build/automation scripts में Ruby उपयोगी रूप से काम आती है।
- JSON, CSV, YAML जैसे विभिन्न data formats को built-in libraries की मदद से आसानी से संभाला जा सकता है।
-
Ruby One-Liner scripts लिखना
- एक-पंक्ति वाली scripts को
ruby -e "<expression>"फ़ॉर्मेट में चलाया जा सकता है। - pipe और redirection का उपयोग करके अन्य CLI tools के results को लेकर प्रोसेस किया जा सकता है।
-roption से ज़रूरी libraries को पहले से load करके functionality बढ़ाई जा सकती है।
- एक-पंक्ति वाली scripts को
-
अन्य CLI tools के साथ मिलाकर इस्तेमाल करना
- AWS CLI, Git, GitHub CLI, jq, curl आदि के साथ Ruby को जोड़ने पर single-purpose tools की खूबियों को अधिकतम किया जा सकता है।
- JSON data processing उदाहरण:
curlसे API call करने के बाद Ruby की JSON library से data parse करके किसी विशेष field (जैसे: title) को आउटपुट करना।
- YAML data processing उदाहरण:
cat config.yamlसे फ़ाइल पढ़ने के बाद Ruby की YAML library से parse करके किसी विशेष setting value को निकालना।
- CLI tools के results को Ruby से आगे प्रोसेस करके अधिक flexible automation workflow बनाया जा सकता है।
-
असंरचित data processing (Git Log उदाहरण)
- हर data JSON/CSV/YAML की तरह structured हो, यह ज़रूरी नहीं है।
- Ruby की regular expressions और text processing capabilities से logs, system messages आदि को पंक्ति-दर-पंक्ति पढ़कर ज़रूरी जानकारी निकाली जा सकती है।
- Git Log script उदाहरण:
git log --oneline #{file}से एक-पंक्ति commit log निकालना।gum choose --limit 100से इच्छित log को interactive तरीके से चुनना।- चुने गए हर log से commit hash निकालकर
git showसे विस्तृत बदलाव दिखाना। - अंत में चुने गए logs को checklist के रूप में दोबारा बनाकर आउटपुट करना।
-
समापन
- CLI tools और Ruby scripts को मिलाकर साधारण command combinations से शक्तिशाली automation tools बनाए जा सकते हैं।
- जटिल data processing, log analysis, और version control कार्यों को कुशलतापूर्वक automate करके productivity को अधिकतम किया जा सकता है।
- छोटी शुरुआत बड़े बदलाव ला सकती है, और पाठकों को अपना खुद का side project शुरू करने के लिए प्रोत्साहित किया गया है।
- साथ ही, Perl भी उपयोगी है, और Perl One-Liners Guide जैसी सामग्री मददगार हो सकती है।
अभी कोई टिप्पणी नहीं है.