paint-brush
कैसे ChatGPT Linux बैश स्क्रिप्टिंग को हैंडल करता हैद्वारा@dclinton
18,360 रीडिंग
18,360 रीडिंग

कैसे ChatGPT Linux बैश स्क्रिप्टिंग को हैंडल करता है

द्वारा David Clinton6m2023/02/20
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

ChatGPT OpenAI का एक नया टूल है जिसका उपयोग एक प्रमुख सहायक भागीदार के साथ पेयर-प्रोग्राम के लिए किया जा सकता है। यह लेख देखता है कि कैसे चैटजीपीटी लिनक्स बैश स्क्रिप्टिंग को संभालता है। आप इस लेख का एक वीडियो संस्करण यहां देख सकते हैं यदि आप इसे अपने सीखने के पूरक के रूप में उपयोग करना चाहते हैं।
featured image - कैसे ChatGPT Linux बैश स्क्रिप्टिंग को हैंडल करता है
David Clinton HackerNoon profile picture

हम कृत्रिम बुद्धिमत्ता और प्राकृतिक भाषा प्रसंस्करण के बारे में बहुत कुछ सुन रहे हैं - और विशेष रूप से OpenAI के GPT के नवीनतम संस्करण के बारे में - हफ्तों से।


GPT 3.5 की हालिया रिलीज़, और विशेष रूप से बहुत ही नया ChatGPT टूल, निश्चित रूप से एक बड़ी छलांग है।


आपने लोगों के बारे में पढ़ा होगा जो एआई से रियल एस्टेट अनुबंध और वसीयत तैयार करने के लिए कह रहे हैं, और यहां तक कि प्रोग्रामिंग कोड भी तैयार कर सकते हैं। यह लेख उपकरण को थोड़े अलग दृष्टिकोण से देखता है।


आप इस लेख का एक वीडियो संस्करण यहां देख सकते हैं यदि आप इसका उपयोग अपने सीखने के पूरक के लिए करना चाहते हैं:




चैटजीपीटी और बैश स्क्रिप्टिंग के साथ प्रयोग

मैंने यह देखने का फैसला किया कि चैटजीपीटी लिनक्स बैश स्क्रिप्टिंग को कैसे संभालता है। लेकिन (स्पॉइलर अलर्ट!) जैसा कि मैंने टूल के सुझावों के माध्यम से काम किया - अच्छा कोड और बुरा कोड दोनों - मुझे यह एहसास होने लगा कि मेरे चेहरे पर एक और भी अधिक शक्तिशाली लाभ था: एक प्रमुख सहायक साथी के साथ जोड़ी-प्रोग्राम करने का अवसर .


एआई अंततः मेरी समस्या को हल करने में विफल रहा, लेकिन जिस तरह से यह विफल हुआ वह बिल्कुल आकर्षक था। और एआई को नए उत्तरों की खोज करते देखना बिल्कुल पागल था।

पहला प्रयास – चैटजीपीटी समस्या को हल करने की कोशिश करता है

तो आइए देखें कि यह सब कैसे हुआ। यहाँ, कमोबेश, प्रारंभिक संकेत मैंने AI को प्रदान किया है:

मुझे एक बैश स्क्रिप्ट लिखें जो YouTube वीडियो के URL के लिए संकेत देती है और फिर उस URL से डाउनलोड करने के लिए yt-dlp प्रोग्राम का उपयोग करती है। स्क्रिप्ट को तब फ़ाइल का नाम "myvideo.mp4" में बदलना चाहिए

कुछ सेकंड के बाद, चैटजीपीटी ने मुझे बताया कि एक स्क्रिप्ट आ रही है। यहां बताया गया है कि वह कोड कैसा दिखता था:

 #!/bin/bash # Prompt user for YouTube video URL read -p "Enter YouTube video URL: " url # Download video from YouTube using yt-dlp yt-dlp $url # Get the name of the downloaded video file yt-dlp $url # Change the downloaded video filename to "myvideo.mkv" mv video-filename.mp4 myvideo.mp4

एआई स्पष्ट रूप से जानता है कि बैश स्क्रिप्ट क्या हैं और कोड कैसे प्रस्तुत करें। इसने कोड की प्रत्येक पंक्ति पर टिप्पणी करने का भी अच्छा काम किया। एआई जानता है कि इनपुट के लिए उपयोगकर्ता को ठीक से कैसे संकेत दिया जाए और फिर इनपुट स्ट्रिंग को url नामक चर में कैसे आयात किया जाए।


यह yt-dlp प्रोग्राम के बारे में भी जानता है और यह कैसे काम करता है, इसे प्रदान किए गए URL को उचित रूप से फीड करता है। फिर इसने कम से कम डाउनलोड की गई वीडियो फ़ाइल का नाम बदलकर myvideo.mp4 करने का प्रयास किया। लेकिन जब यह मान लिया गया कि डाउनलोड फ़ाइल का नाम video-filename.mp4 होगा तो सब कुछ टूट गया। वूप्स।


किसी भी दर पर, एआई ने मदद से मुझे दिखाया कि स्क्रिप्ट को उसके कोड से कैसे बनाया जाए और फिर उसे कैसे चलाया जाए।

दूसरा प्रयास - ChatGPT अपने आप ठीक हो जाता है

मेरे पहले अनुवर्ती संकेत ने स्पष्ट गलती की ओर इशारा किया और कुछ सेकंड के बाद, चैटजीपीटी ने स्वीकार किया कि यह गलत था और सुधार की पेशकश की।

आप सही हैं, मैंने जो स्क्रिप्ट प्रदान की है वह अपेक्षा के अनुरूप काम नहीं करेगी क्योंकि यह मानता है कि डाउनलोड किया गया वीडियो video-filename.mp4 नाम वाली फ़ाइल में सहेजा जाएगा। हालांकि, ऐसा होने की गारंटी नहीं है। इसे ठीक करने के लिए...

एआई पूरी तरह से यहां की प्रक्रिया में कैसे लगा हुआ है, यह आश्चर्यजनक है। यह अपना पहला कोड याद रखता है, मेरी शिकायत को सुनता और समझता है, और समाधान के बारे में सोचता है। यहाँ वह दूसरा प्रयास है:

 #!/bin/bash # Prompt user for YouTube video URL read -p "Enter YouTube video URL: " url # Download video from YouTube using yt-dlp yt-dlp $url # Get the name of the downloaded video file filename=$(basename $url) # Change the downloaded video filename to "myvideo.mkv" mv $filename.mp4 myvideo.mp4

ठीक है, तो मैं देख सकता हूँ कि समाधान किस तरह से सही लगा। basename एक लिनक्स उपकरण है जो फ़ाइल सिस्टम निर्देशिकाओं को हटा सकता है और वास्तविक फ़ाइल नाम के अलावा कुछ भी नहीं छोड़ सकता है।


समस्या यह है कि परिवर्तनीय url में स्थानीय फ़ाइल नाम नहीं है, लेकिन एक इंटरनेट पता है। यह निश्चित रूप से काम नहीं करेगा।

तीसरा प्रयास - चैटजीपीटी फिर से कोशिश करता है

इसलिए मैंने फिर से कोशिश की, यह समझाते हुए कि कैसे वह काम के लिए सही उपकरण नहीं था। और ChatGPT इसे एक और कोशिश देता है।

 #!/bin/bash # Prompt user for YouTube video URL read -p "Enter YouTube video URL: " url # Extract the filename from the URL filename=$(basename $url) # Download the video using the yt-dlp tool and specify the filename yt-dlp -o $filename $url # Change the downloaded video filename to "myvideo.mkv" mv $filename.mp4 myvideo.mp4

इस बार, यह दर्शाता है कि इसने स्वयं को yt-dlp प्रलेखन से परिचित कर लिया था, यह सुझाव देते हुए कि हम डाउनलोडिंग वीडियो को एक नाम देने के लिए -o तर्क का उपयोग करते हैं, जिसके विरुद्ध basename अब काम करना चाहिए। प्रत्येक पुनरावृत्ति के साथ, एआई मुझे मेरे काटने और चिपकाने के आनंद के लिए यह अद्यतन कोड देता है।


बेशक, वह भी काम नहीं करने वाला था। अगले प्रयास के साथ, मुझे लग रहा है कि एआई थोड़ा हताश है।

अगर पहली बार में आप सफल नहीं होते...कम से कम आप कुछ तो सीखेंगे

हम अगले एक या दो प्रयासों को छोड़ देंगे, क्योंकि हमें एक दूसरी समस्या का सामना करना पड़ा: YouTube से आने वाले वीडियो हमेशा MP4 नहीं होते, वे कभी-कभी MKV या WEBM भी होते हैं। यह अनिश्चितता उन फ़ाइलनामों के साथ गड़बड़ कर सकती है जिनके साथ हम काम कर रहे हैं, इसलिए मैंने चैटजीपीटी को कोड में काम करने के लिए कहा।

 #!/bin/bash # Prompt user for YouTube video URL read -p "Enter YouTube video URL: " url # Extract the filename from the URL filename=$(basename $url) # Download the video using the yt-dlp tool and specify the filename yt-dlp -F mp4 -O $filename $url # Change the downloaded video filename to "myvideo.mkv" mv $filename.mp4 myvideo.mp4

जब मैंने बताया कि वह भी कैसे काम नहीं करेगा, तो एआई भ्रमित होने लगा। पहले इसने मुझे बताया कि -F विकल्प एक मान्य वीडियो प्रारूप की अपेक्षा कर रहा था, लेकिन वह "mp4" मान्य नहीं था। फिर यह मुझे "mp4" सहित वैध विकल्प देता है।


जब एआई ने सुझाव दिया कि कुछ भी काम नहीं करता है, तो उसने मुझे यह सुनिश्चित करने की सलाह दी कि वास्तव में मेरी मशीन पर वाईटी-डीएलपी स्थापित किया गया था और मुझे दिखाया गया कि यह कैसे करना है।


मुझे लगा कि हार मानने का यह अच्छा समय है। यह आश्चर्यजनक रूप से अच्छा प्रयास था और भले ही इससे समस्या का समाधान नहीं हुआ, इसने मुझे कुछ उपयोगी सिंटैक्स दिखाया और मुझे सोचने पर मजबूर कर दिया।


यदि आप रुचि रखते हैं, तो यहां बताया गया है कि एक वास्तविक कामकाजी स्क्रिप्ट कैसी दिखेगी।

 #!/bin/bash # Prompt user for YouTube video URL read -p "Enter YouTube video URL: " url # Download video from YouTube using yt-dlp yt-dlp $url # Get the name of the downloaded video file original_filename=$(ls | awk '/mp4/ || /webm/ || /mkv/') # Change the downloaded video filename to "myvideo.mkv" mv "$original_filename" /home/ubuntu/vids/myvideo.mp4

कोड की पहली दो पंक्तियाँ चैटजीपीटी द्वारा सुझाई गई तरह ही हैं। लेकिन मैं वर्तमान निर्देशिका में सभी फाइलों को सूचीबद्ध करके और mp4, webm, या mkv युक्त केवल फ़ाइल नामों के लिए फ़िल्टर करने के लिए awk उपयोग करके फ़ाइल नाम को अलग करता हूं। (यह मानता है कि एक समय में निर्देशिका में एक से अधिक वीडियो फ़ाइल नहीं होगी।)


फ़ाइल नाम तब original_filename चर में लिखा जाएगा। फिर मैं फ़ाइल myvideo.mp4 का नाम बदलने के लिए एक move कमांड के हिस्से के रूप में उस चर का उपयोग करूँगा जहाँ तक मैं बता सकता हूँ, यह काम करेगा चाहे कोई भी प्रारूप वास्तव में भेजा गया हो।

ऊपर लपेटकर

आर्टिफिशियल इंटेलिजेंस आज वास्तविक दुनिया के प्रोग्रामिंग कार्यों के लिए बिल्कुल तैयार नहीं हो सकता है, लेकिन मैं इसके कल या अगले साल किसी समय वहां पहुंचने की शर्त नहीं लगाना चाहूंगा।


हालांकि इस बीच, जब भी आपको किसी चुनौतीपूर्ण प्रोग्रामिंग कार्य का सामना करना पड़े, तो मैं निश्चित रूप से ChatGPT जैसे टूल से जुड़ने की सलाह दूंगा।


दो दिमाग (लगभग) हमेशा एक से बेहतर होते हैं।


हैकरनून एआई प्रांप्ट के माध्यम से उत्पन्न फीचर्ड छवि "एक एआई रोबोट एक बैश पार्टी फेंक रही है।"


मेरे YouTube चैनल (जिसकी आप सदस्यता ले सकते हैं) के अलावा, मेरी वेबसाइट लेखों, पुस्तकों और पाठ्यक्रमों के रूप में उपलब्ध सभी प्रकार की तकनीकी अच्छाइयों से जुड़ी है।


यहाँ भी प्रकाशित हुआ।