Ethical Hacking Full Course - Learn Ethical Hacking in 10 Hours | Ethical Hacking Tutorial | Edureka
विषयसूची:
- एक फाइल लाइन बाय लाइन सिंटेक्स पढ़ना
- एक फ़ाइल लाइन लाइन उदाहरणों को पढ़ना
- वैकल्पिक फ़ाइल पढ़ने के तरीके
- एक प्रक्रिया प्रतिस्थापन का उपयोग करना
- यहां एक स्ट्रिंग का उपयोग करना
- फ़ाइल डिस्क्रिप्टर का उपयोग करना
- निष्कर्ष
बैश स्क्रिप्ट लिखते समय, आप कभी-कभी खुद को उन स्थितियों में पाएंगे जहां आपको लाइन से फाइल लाइन पढ़ने की आवश्यकता होती है। उदाहरण के लिए, आपके पास एक पाठ फ़ाइल हो सकती है जिसमें डेटा है जिसे स्क्रिप्ट द्वारा संसाधित किया जाना चाहिए।
इस ट्यूटोरियल में, हम चर्चा करेंगे कि बैश में लाइन द्वारा एक फाइल लाइन कैसे पढ़ें।
एक फाइल लाइन बाय लाइन सिंटेक्स पढ़ना
फ़ाइल लाइन-बाय-लाइन पढ़ने के लिए सबसे सामान्य सिंटैक्स निम्नानुसार है:
while IFS= read -r line do echo "$line" done < input_file
या समकक्ष एकल-पंक्ति संस्करण:
while IFS= read -r line; do echo $line; done < input_file
यह कैसे काम करता है?
इनपुट फ़ाइल (
input_file
) उस फ़ाइल का नाम है जिसे आप
read
कमांड द्वारा पढ़ने के लिए खोलना चाहते
read
।
read
कमांड प्रत्येक लाइन को
line
वैरिएबल पर असाइन करते हुए लाइन द्वारा फाइल लाइन को पढ़ता है। एक बार सभी लाइनों को संसाधित किया जाता है जबकि लूप समाप्त हो जाएगा। आंतरिक क्षेत्र विभाजक (
IFS
) को मुख्य और अनुगामी व्हाट्सएप को संरक्षित करने के लिए नल स्ट्रिंग पर सेट किया गया है जो कि
read
कमांड का डिफ़ॉल्ट व्यवहार है।
एक फ़ाइल लाइन लाइन उदाहरणों को पढ़ना
आइए निम्नलिखित उदाहरण पर एक नज़र डालें। मान लीजिए, हमारे पास एक फ़ाइल है जिसका नाम
distros.txt
जिसमें कुछ सबसे लोकप्रिय लिनक्स वितरणों की सूची है और उनके पैकेज प्रबंधकों को अल्पविराम (
,
) से अलग किया गया है:
Ubuntu, apt Debian, apt CentOS, yum Arch Linux, pacman Fedora, dnf
फ़ाइल लाइन को लाइन से पढ़ने के लिए आप अपने टर्मिनल में निम्न कोड चलाएंगे:
while IFS= read -r line do echo "$line" done < distros.txt
कोड फ़ाइल को लाइन से पढ़ेगा, प्रत्येक लाइन को एक वैरिएबल पर असाइन करेगा, और वेरिएबल को इको करेगा। बेसिकली आपको वही आउटपुट दिखाई देगा जैसे कि आप कैट कमांड का उपयोग करके फाइल कंटेंट को प्रदर्शित करेंगे।
क्या होगा यदि आप केवल वितरण का उपयोग करना चाहते हैं जो उपयुक्त हैं? एक तरीका यह होगा कि यदि स्टेटमेंट का उपयोग किया जाए और चेक किया जाए कि लाइन में उपयुक्त विकल्प है:
while IFS= read -r line do if]; then echo "$line" fi done < distros.txt
Ubuntu, apt Debian, apt
फ़ाइल लाइन को लाइन से पढ़ते समय, आप रीड कमांड पर एक से अधिक चर भी पास कर सकते हैं जो लाइन को
IFS
आधार पर फ़ील्ड में विभाजित करेगा। पहला क्षेत्र पहले चर को दिया जाता है, दूसरा दूसरे चर को, और इसी तरह। यदि चर से अधिक फ़ील्ड हैं, तो बचे हुए फ़ील्ड को अंतिम चर के लिए असाइन किया गया है।
निम्नलिखित उदाहरण में, हम IFS को कॉमा (
,
) के लिए सेट कर रहे हैं और दो चर
distro
और
pm
को रीड कमांड को पास कर रहे हैं। लाइन की शुरुआत से पहले कॉमा तक सब कुछ पहले वेरिएबल (
distro
) को सौंपा जाएगा और बाकी लाइन दूसरे वेरिएबल (
pm
) को सौंपी जाएगी:
while IFS=, read -r distro pm do echo "$pm" is the package manager for "$distro" done < distros.txt
apt is the package manager for Ubuntu apt is the package manager for Debian yum is the package manager for CentOS pacman is the package manager for Arch Linux dnf is the package manager for Fedora
वैकल्पिक फ़ाइल पढ़ने के तरीके
एक प्रक्रिया प्रतिस्थापन का उपयोग करना
प्रक्रिया प्रतिस्थापन आपको फ़ाइल नाम के रूप में कमांड से आउटपुट पास करने की अनुमति देता है:
while IFS= read -r line do echo "$line" done < <(cat input_file)
यहां एक स्ट्रिंग का उपयोग करना
यहाँ स्ट्रिंग यहाँ दस्तावेज़ का एक प्रकार है। स्ट्रिंग
(cat input_file)
से रखेगी:
while IFS= read -r line do echo "$line" done <<< $(cat input_file)
फ़ाइल डिस्क्रिप्टर का उपयोग करना
आप फ़ाइल डिस्क्रिप्टर का उपयोग करके लूप को इनपुट भी प्रदान कर सकते हैं:
while IFS= read -r -u9 line do echo "$line" done 9< input_file
फ़ाइल डिस्क्रिप्टर के साथ काम करते समय शेल आंतरिक फ़ाइल डिस्क्रिप्टर के साथ संघर्ष से बचने के लिए 4 और 9 के बीच एक संख्या का उपयोग करें।
निष्कर्ष
बैश में, हम फ़ाइल लाइन-बाय-लाइन को फ़ाइल नाम को कुछ समय के लिए पढ़े गए लूप में इनपुट के रूप में प्रदान करके पढ़ सकते हैं।
बश टर्मिनलबेहतर फ़ाइल संगठन में बेहतर फ़ाइल संगठन के साथ बेहतर फ़ाइल संगठन में लीप करें
इस ऐड-इन के साथ विंडोज एक्सप्लोरर को पावर करें। चाहे आप आसान एन्क्रिप्शन, बैच नामकरण, छवि आकार बदलने, या लगभग कुछ और ढूंढ रहे हों ... यदि आपने कभी भी विंडोज एक्सप्लोरर की एक निश्चित क्षमता की कामना की है, तो संभावना है कि फिलरफ्रोग में यह है।
फ़ाइल प्रकारों में संपादन फ़ाइल एक्सटेंशन और प्रकारों को देखें, जोड़ें, हटाएं, देखें: विंडोज़ में फ़ाइल एक्सटेंशन और प्रकारों को देखें, संपादित करें
डाउनलोफ फ़ाइल टाइप्स मुक्त। यह आपको विंडोज 10/8/7 पर संपादन फ़ाइल एक्सटेंशन और प्रकारों को देखने, जोड़ने, हटाने, हटाने के लिए अनुमति देता है। आप हमेशा फाइल एसोसिएशन और एक्सटेंशन मैन्युअल रूप से सेट या बदल सकते हैं।
विंडोज़ 10/8/7
Windows ऑपरेटिंग सिस्टम में