मैं बिल्ली का उपयोग करके किसी फ़ाइल की पहली पंक्ति कैसे पढ़ूं?


200

मैं किसी फ़ाइल की पहली पंक्ति का उपयोग कैसे करूँ cat?

जवाबों:


376

आप की जरूरत नहीं है cat

head -1 file

ठीक काम करेगा।


65
+1। आपको केवल सर ही नहीं पूरी बिल्ली की जरूरत है: P (कमांड टेल बैश पंच का भी हिस्सा है)
SparK

क्या headपूरी फाइल को पढ़ा जाता है और इसे काट दिया जाता है, या क्या यह केवल 1 पंक्ति पढ़ता है?
CMCDragonkai

@CMCDragonkai, मुझे लगता है कि आप स्रोत की जांच कर सकते हैं ।
कार्ल नॉरम

2
मुझे लगता है कि यह केवल पहली पंक्तियों को पढ़ता है - यह मिलीसेकंड में एक सैकड़ों-मेगाबाइट फ़ाइल खोलता है।
ब्रायन हाक

1
...समझ गया! cat <(head file1) <(head file2)स्रोत
जेम्स ओनर्स

72

आप नहीं, headइसके बजाय का उपयोग करें ।

head -n 1 file.txt

41

कई अलग-अलग तरीके हैं:

sed -n 1p file
head -n 1 file
awk 'NR==1' file

21

आप उपयोग कर सकते हैं cat file.txt | head -1, लेकिन संभवतः सीधे सिर का उपयोग करना बेहतर होगा, जैसे कि head -1 file.txt


16

यह संभव नहीं हो सकता है cat। क्या कोई कारण है जिसका आपको उपयोग करना है cat?

यदि आपको बस इसे bash कमांड के साथ करने की आवश्यकता है, तो यह आपके लिए काम करना चाहिए:

head -n 1 file.txt

9

catअकेले संभव नहीं हो सकता है, लेकिन अगर आप headइस काम का उपयोग नहीं करना चाहते हैं :

 cat <file> | awk 'NR == 1'

2
मुझे लगता है कि यह 'बेकार बिल्ली का उपयोग' को विशेष रूप से उपयोग करने के लिए डिज़ाइन की गई लाइन पर कॉल करने के लिए मूर्खतापूर्ण है cat, है न।
जकरियन २४'११

यह तरीका बहुत अच्छा है क्योंकि आप अपनी मनचाही लाइन चुन सकते हैं।
desgua

3
@desgua awkबहुत बढ़िया है, लेकिन आपको catयहाँ ज़रूरत नहीं है। awk 'NR == 2 {print $0}' <file>वही काम करता है। (और भी बहुत कुछ, अगर आप थोड़ा सीखते हैं awk
Eric Wilson

5

मुझे आश्चर्य है कि जब तक यह प्रश्न रहा है, तब तक कोई नहीं रहा है, और किसी ने अभी तक पूर्व-मेफाइल बिल्ट-इन दृष्टिकोण प्रदान नहीं किया है।

IFS= read -r first_line <file

... फ़ाइल की पहली पंक्ति को विस्तार से चर में डालता है "$first_line", जो आसान है।

इसके अलावा, क्योंकि readबैश में बनाया गया है और इस उपयोग के लिए कोई सबस्क्रिप्शन की आवश्यकता नहीं है, इसलिए यह उपप्रोसेस जैसे headया से जुड़े तरीकों की तुलना में काफी अधिक कुशल है awk


IFS=शुरुआत में क्या हिस्सा है?
फ्लोरियन कैस्टेलन

मेरा बुरा, यहाँ एक स्पष्टीकरण है: unix.stackexchange.com/questions/184863/…
फ्लोरियन कास्टेलन

सही; इस स्थिति में, क्लियरिंग IFSव्हाट्सएप को पढ़ने वाले स्ट्रिंग से बाहर निकलने से रोकता है।
चार्ल्स डफी

3

यदि आपके पास v4 + है तो आपको किसी भी बाहरी कमांड की आवश्यकता नहीं है

< file.txt mapfile -n1 && echo ${MAPFILE[0]}

या यदि आप वास्तव में चाहते हैं cat

cat file.txt | mapfile -n1 && echo ${MAPFILE[0]}

:)


2

CSV फ़ाइल या किसी फ़ाइल स्वरूपों से पहली पंक्ति प्राप्त करने के लिए नीचे दिए गए आदेश का उपयोग करें।

head -1 FileName.csv
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.