Bash
बिल्ली का उपयोग करना
खोज…
वाक्य - विन्यास
- बिल्ली [विकल्प] ... [फ़ाइल] ...
पैरामीटर
विकल्प | विवरण |
---|---|
-n | प्रिंट लाइन नंबर |
-v | LFD और TAB को छोड़कर ^ और M- संकेतन का उपयोग करके गैर-मुद्रण वर्ण दिखाएं |
-टी | TAB वर्णों को ^ I के रूप में दिखाएं |
-इ | $ के रूप में लाइनफ़ीड (LF) वर्ण दिखाएं |
-इ | वही -vE |
बी | गैर-आउटपुट आउटपुट लाइनें, ओवरराइड्स -n |
-ए | बराबर -vET |
-s | बार-बार खाली आउटपुट लाइनों को दबाने, निचोड़ने के लिए संदर्भित करता है |
टिप्पणियों
cat
दोनों फाइलों और मानक आदानों से पढ़ सकती है और उन्हें मानक आउटपुट तक पहुंचा सकती है
एक फ़ाइल की सामग्री मुद्रण
cat file.txt
एक फ़ाइल की सामग्री को मुद्रित करेगा।
यदि फ़ाइल में गैर-ASCII वर्ण हैं, तो आप उन वर्णों को प्रतीकात्मक रूप से cat -v
साथ प्रदर्शित कर सकते हैं। यह उन स्थितियों के लिए काफी उपयोगी हो सकता है जहां नियंत्रण वर्ण अन्यथा अदृश्य होंगे।
cat -v unicode.txt
बहुत बार, इंटरैक्टिव उपयोग के लिए, आप less
या more
जैसे इंटरैक्टिव पेजर का उपयोग करके बेहतर होते हैं, हालांकि। ( less
अधिक से अधिक शक्तिशाली है more
अधिक से more
बार less
उपयोग करने की सलाह दी जाती है।)
less file.txt
कमांड के इनपुट के रूप में फाइल की सामग्री को पास करने के लिए। आमतौर पर बेहतर ( UUOC ) दृष्टिकोण को पुनर्निर्देशन का उपयोग करने के लिए देखा जाता है।
tr A-Z a-z <file.txt # as an alternative to cat file.txt | tr A-Z a-z
यदि सामग्री को उसके सिरे से पीछे की ओर सूचीबद्ध करने की आवश्यकता होती है, तो कमांड tac
का उपयोग किया जा सकता है:
tac file.txt
आप लाइन संख्या के साथ सामग्री मुद्रित करने के लिए चाहते हैं, तो का उपयोग -n
साथ cat
:
cat -n file.txt
एक फ़ाइल की सामग्री को पूरी तरह से अस्पष्ट बाईट-बाइट रूप में प्रदर्शित करने के लिए, एक हेक्स डंप मानक समाधान है। यह फ़ाइल के बहुत संक्षिप्त स्निपेट्स के लिए अच्छा है, जैसे कि जब आपको सटीक एन्कोडिंग का पता नहीं होता है। मानक हेक्स डंप उपयोगिता od -cH
, हालांकि प्रतिनिधित्व थोड़ा बोझिल है; सामान्य प्रतिस्थापन में xxd
और hexdump
।
$ printf 'Hëllö wörld' | xxd
0000000: 48c3 ab6c 6cc3 b620 77c3 b672 6c64 H..ll.. w..rld
आउटपुट के साथ लाइन नंबर प्रदर्शित करें
प्रत्येक पंक्ति से पहले लाइन नंबर प्रिंट करने के लिए --number
ध्वज का उपयोग करें। वैकल्पिक रूप से, -n
एक ही बात करता है।
$ cat --number file
1 line 1
2 line 2
3
4 line 4
5 line 5
गिनती करते समय खाली लाइनों को छोड़ने के लिए --number-nonblank
, या बस -b
।
$ cat -b file
1 line 1
2 line 2
3 line 4
4 line 5
मानक इनपुट से पढ़ें
cat < file.txt
आउटपुट cat file.txt
फ़ाइल के समान है।
printf "first line\nSecond line\n" | cat -n
इको कमांड से पहले |
आउटपुट दो लाइनें। बिल्ली कमांड लाइन नंबरों को जोड़ने के लिए आउटपुट पर कार्य करता है।
कॉन्टेनेट फाइल
यह cat
का प्राथमिक उद्देश्य है।
cat file1 file2 file3 > file_all
cat
को पाइप लाइन के एक भाग के रूप में फ़ाइलों को समान करने के लिए भी उपयोग किया जा सकता है, जैसे
cat file1 file2 file3 | grep foo
एक फ़ाइल में लिखें
cat >file
यह आपको टर्मिनल पर पाठ लिखने देगा जो फ़ाइल नामक फ़ाइल में सहेजा जाएगा।
cat >>file
वही करेगा, सिवाय इसके कि वह फाइल के अंत में टेक्स्ट को जोड़ देगा।
NB: टर्मिनल पर पाठ लिखने के लिए Ctrl + D (लिनक्स)
यहाँ एक दस्तावेज़ को कमांड लाइन या स्क्रिप्ट में फ़ाइल की सामग्री को इनलाइन करने के लिए इस्तेमाल किया जा सकता है:
cat <<END >file
Hello, World.
END
<<
पुनर्निर्देशन प्रतीक के बाद टोकन एक मनमाना स्ट्रिंग है जिसे यहां दस्तावेज़ के अंत को इंगित करने के लिए एक लाइन पर (कोई अग्रणी या अनुगामी व्हाट्सएप के साथ) अकेले होने की आवश्यकता है। आप शेल को कमांड प्रतिस्थापन और चर प्रक्षेप करने से रोकने के लिए उद्धरण जोड़ सकते हैं:
cat <<'fnord'
Nothing in `here` will be $changed
fnord
(उद्धरण के बिना, here
एक कमांड के रूप में मार डाला जाएगा, और $changed
चर के मूल्य के साथ प्रतिस्थापित किया जाएगा changed
-।, या कुछ भी नहीं है अगर यह अपरिभाषित गया था)
गैर मुद्रण योग्य वर्ण दिखाएं
यह देखने के लिए उपयोगी है कि क्या कोई गैर-मुद्रण योग्य वर्ण या गैर-ASCII वर्ण हैं।
जैसे आप है वेब से कोड को कॉपी-पेस्ट किया है, तो आप की तरह उद्धरण हो सकता है ”
मानक के बजाय "
।
$ cat -v file.txt
$ cat -vE file.txt # Useful in detecting trailing spaces.
जैसे
$ echo '” ' | cat -vE # echo | will be replaced by actual file.
M-bM-^@M-^] $
आप cat -A
(सभी के लिए ए) का उपयोग करना चाह सकते हैं जो cat -vET
बराबर है। यह TAB वर्णों ( ^I
रूप में प्रदर्शित), गैर प्रिंट करने योग्य वर्ण और प्रत्येक पंक्ति का अंत प्रदर्शित करेगा:
$ echo '” `' | cat -A
M-bM-^@M-^]^I`$
कॉनटेनटेट gzipped फाइलें
gzip
द्वारा gzip
फ़ाइलों को सीधे बड़ी gzipped फ़ाइलों में संक्षिप्त किया जा सकता है।
cat file1.gz file2.gz file3.gz > combined.gz
यह gzip
की एक गुण है जो इनपुट फ़ाइलों को संक्षिप्त करने और परिणाम को प्राप्त करने की तुलना में कम कुशल है:
cat file1 file2 file3 | gzip > combined.gz
एक पूर्ण प्रदर्शन:
echo 'Hello world!' > hello.txt
echo 'Howdy world!' > howdy.txt
gzip hello.txt
gzip howdy.txt
cat hello.txt.gz howdy.txt.gz > greetings.txt.gz
gunzip greetings.txt.gz
cat greetings.txt
जिसके परिणामस्वरूप
Hello world!
Howdy world!
ध्यान दें कि greetings.txt.gz
txt.gz एक एकल फ़ाइल है और एकल फ़ाइल greeting.txt
रूप में विघटित है। इसके विपरीत tar -czf hello.txt howdy.txt > greetings.tar.gz
साथ।