Linux में Cat का अर्थ संयोजन (चीजों को एक साथ मिलाना) होता है और यह सबसे उपयोगी और बहुमुखी Linux कमांड में से एक है। वास्तविक बिल्ली की तरह बिल्कुल प्यारा और गले लगाने योग्य नहीं होने पर भी, Linux cat कमांड का उपयोग स्ट्रिंग्स, फाइलों और आउटपुट का उपयोग करने वाले कई ऑपरेशन्स का समर्थन करने के लिए किया जा सकता है।
cat कमांड के टेक्स्ट फाइलों से जुड़े तीन प्राथमिक उद्देश्य हैं:
- बनाना
- पढ़ना/प्रदर्शित करना
- अपडेट करना/संशोधित करना
हम प्रत्येक के बारे में बारी-बारी से जानेंगे ताकि प्रत्येक ऑपरेशन से जुड़ी कमांड और विकल्प दिखाए जा सकें।
शुरुआत करना
शुरू करने के लिए, आइए foo.txt और spam.txt नाम की कुछ फाइलें बनाते हैं।
आइए Linux कमांड लाइन से कमांड cat > foo.txt के साथ foo.txt बनाकर शुरू करें।
चेतावनी: यदि foo.txt नाम की फाइल पहले से मौजूद है, तो > ऑपरेटर का उपयोग करने वाला cat कमांड इसे ओवरराइट कर देगा।
यहां से प्रॉम्प्ट एक नई लाइन प्रदर्शित करेगा जो हमें वह टेक्स्ट इनपुट करने की अनुमति देगा जो हम चाहते हैं। इस उदाहरण के लिए हम उपयोग करेंगे:
FILE 1
foo
bar
baz
कमांड लाइन पर वापस आने और टेक्स्ट फाइल बनाने के लिए हम CTRL + D का उपयोग करते हैं।
अब आइए cat > spam.txt के साथ spam.txt बनाएं और इसमें निम्नलिखित डालें:
FILE 2
spam
ham
eggs
यदि हम इन फाइलों में अधिक टेक्स्ट जोड़ना या जोड़ना चाहते हैं तो हम cat >> FILENAME का उपयोग करेंगे और वह टेक्स्ट इनपुट करेंगे जिसका हम उपयोग करना चाहते हैं।
ध्यान दें कि >> ऑपरेटर का उपयोग मौजूदा फाइल में जोड़ने के लिए किया जाता है, > ऑपरेटर के विपरीत।
टेक्स्ट एडिटर खोलने के बजाय, हम कमांड लाइन से एक त्वरित और सरल टेक्स्ट फाइल बनाने में सक्षम थे, जिससे हमारा समय और प्रयास बचा।
इस खंड से मुख्य बात यह है कि हम फाइल बनाने या ओवरराइट करने के लिए cat > FILENAME का उपयोग करते हैं। इसके अतिरिक्त, हम पहले से मौजूद फाइल में जोड़ने के लिए cat >> FILENAME का उपयोग कर सकते हैं। फिर जिस टेक्स्ट को हम चाहते हैं उसे टाइप करने के बाद हम CTRL + D का उपयोग करके एडिटर से बाहर निकलते हैं, कमांड लाइन पर वापस आते हैं, और फाइल बनाते हैं।
रीडिंग रेनबो
अब जब हमने कुछ बना लिया है तो आइए देखें कि हमने क्या बनाया है।
ध्यान दें कि निम्नलिखित कमांड में हमारे पास > या >> ऑपरेटर नहीं है, केवल cat और फाइलनाम।
कमांड cat foo.txt निम्नलिखित प्रदर्शित करेगा:
FILE 1
foo
bar
baz
तो cat foo.txt हमें फाइल पढ़ने देगा, लेकिन आइए देखें कि हम और क्या कर सकते हैं।
मान लीजिए हम यह पता लगाना चाहते थे कि हम जिस फाइल पर काम कर रहे थे वह कितनी लाइन की थी। इसके लिए -n विकल्प काम आता है।
cat -n foo.txt कमांड के साथ हम देख सकते हैं कि हमारी फाइल कितनी लंबी है:
1 FILE 1
2 foo
3 bar
4 baz
-n के साथ हम इस बात का अंदाजा लगा सकते हैं कि हम जिस फाइल के साथ काम कर रहे हैं उसकी कितनी लाइनें हैं। यह तब काम आ सकता है जब हम एक निश्चित लंबाई की फाइल पर पुनरावृति कर रहे हों।
फाइलों को संयोजित करना
ठीक है, तो हमने देखा कि cat फाइलें बना और प्रदर्शित कर सकता है, लेकिन उन्हें संयोजित (कंबाइन) करने के बारे में क्या?
इस उदाहरण के लिए हम foo.txt और spam.txt फाइलों का उपयोग करेंगे। यदि हम फैंसी होना चाहते हैं तो हम एक ही समय में दोनों फाइलों की सामग्री देख सकते हैं। हम cat कमांड का फिर से उपयोग करेंगे, इस बार cat foo.txt spam.txt का उपयोग करके।
cat foo.txt spam.txt का परिणाम निम्नलिखित है:
FILE 1
foo
bar
baz
FILE 2
spam
ham
eggs
ध्यान दें कि उपरोक्त केवल दो फाइलों को प्रदर्शित करता है। इस बिंदु पर हमने अभी तक उन्हें एक नई फाइल में संयोजित नहीं किया है।
फाइलों को एक नई फाइल में संयोजित करने के लिए हम cat foo.txt spam.txt > fooSpam.txt का उपयोग करना चाहते हैं जो हमें परिणाम को एक नई फाइल fooSpam.txt में देता है।
cat fooSpam.txt का उपयोग करके टर्मिनल पर निम्नलिखित आउटपुट होता है:
FILE 1
foo
bar
baz
FILE 2
spam
ham
eggs
यह कमांड तब भी उपयोगी होती है जब हम दो से अधिक फाइलों को एक नई फाइल में संयोजित करना चाहते हैं।
यहां मुख्य बातें हैं: हम cat FILENAME1 FILENAME2 के साथ कई फाइलें देख सकते हैं।
इसके अलावा हम कमांड cat FILENAME1 FILENAME2 > FILENAME3 के साथ कई फाइलों को एक फाइल में संयोजित कर सकते हैं।
Cat(s) के साथ करने योग्य अन्य मजेदार चीजें
मान लीजिए हम एक फाइल के साथ काम कर रहे हैं और हमें फाइल के अंत से पहले किसी कारण से त्रुटियां मिलती रहती हैं – और ऐसा लगता है कि इसमें हमारे अपेक्षा से अधिक लाइनें हो सकती हैं।
फाइल की थोड़ी और जांच करने और संभवतः हमारी समस्या हल करने के लिए हम -A स्विच का उपयोग कर सकते हैं। -A विकल्प हमें दिखाएगा कि लाइनें $ के साथ कहां समाप्त होती हैं, यह टैब कैरेक्टर को ^I के साथ दिखाएगा, और यह अन्य नॉन-प्रिंटिंग कैरेक्टर भी प्रदर्शित करता है।
यदि हम cat nonPrintExample.txt के साथ नॉन-प्रिंटेबल टेक्स्ट फाइल का एक उदाहरण देख रहे थे तो हमें ऐसा कुछ मिल सकता है:
जो ठीक है लेकिन हो सकता है कि किसी कैरेक्टर या स्ट्रिंग की पूरी कहानी न बताए जो हमें समस्या पैदा कर रही हो।
जबकि cat -A nonPrintExample.txt हमें अधिक उपयोगी आउटपुट दे सकता है:
^I^I$ $ ^L$ $ ^G^H^H^H^Y^I^N^O^P^@$ ^@^@^[g^[f^[d^[g^[6^[5^[4^[6^[=$ $ $ ^X$
यहां, हमें टैब, लाइन फीड, रिटर्न और अन्य कैरेक्टर के बीच क्या हो रहा है इसकी स्पष्ट तस्वीर मिलती है।
यहां मुख्य बात यह है कि cat -A FILENAME हमें उस फाइल के बारे में अधिक गहराई से बता सकता है जिसके साथ हम काम कर रहे हैं।
यह लेख आपको cat कमांड, यह क्या कर सकता है, और इसकी कार्यक्षमता का एक अच्छा अवलोकन देना चाहिए।