यह कुछ grep
नहीं है। "Grep" नाम अपने आप में " विश्व स्तर पर एक नियमित अभिव्यक्ति और प्रिंट की खोज " के लिए एक संक्षिप्त नाम है , जो कि ed
कमांड क्या g/re/p
करता है (किसी दिए गए नियमित अभिव्यक्ति के लिए re
)।
ed
1969 से एक इंटरेक्टिव लाइन संपादक है, लेकिन यह संभवत: आज भी आपके सिस्टम पर स्थापित है। हमारे पास grep
से ed
, और यह एक शॉर्टकट या अन्य नाम का एक विशिष्ट कार्यक्षमता के लिए के रूप में देखा जा सकता है ed
, और sed
है, जो "stream- है ed
", यानी एक (गैर-सहभागी) धारा संपादक।
sed
इसके बजाय उपयोग करें :
$ sed -n '1p' file.txt
1p
स्ट्रिंग एक छोटे से है sed
"स्क्रिप्ट" है कि प्रिंट ( p
) लाइन दिए गए पते (करने के लिए इसी 1
, पहली पंक्ति)। एडिटिंग कमांड 1p
(कोई आश्चर्य की बात नहीं) वैसे ही ed
संपादक में काम करेगा।
-n
, कुछ भी स्पष्ट रूप से स्क्रिप्ट के द्वारा मुद्रित नहीं के उत्पादन को दबा तो हम सभी मिल फ़ाइल की पहली पंक्ति है file.txt
।
वैकल्पिक रूप से:
$ sed '1q' file.txt
यह फ़ाइल की सभी पंक्तियों को प्रिंट करता है, लेकिन q
पंक्ति 1 पर (इसे प्रिंट करने के बाद) क्विट करता है। यह बिल्कुल इसके बराबर है head -n 1 file.txt
।
POSIX मानक में यह कहता है (सामान्यीकरण) जो कि head -n N
बहुत समान है sed 'Nq'
, अर्थात "प्रत्येक पंक्ति को प्रिंट करें, लेकिन लाइन पर छोड़ दें N
"। कारण head
को मानक में शामिल किया गया था समरूपता tail
(और मौजूदा यूनिक्स कार्यान्वयन के साथ पीछे की संगतता) के कारण था।
head -1 file.txt
काम नहीं करेगा ?