किसी विशालकाय फ़ाइल की पहली कुछ पंक्तियों को कैसे कॉपी करें, और कुछ लिनक्स कमांड्स का उपयोग करके इसके अंत में टेक्स्ट की एक पंक्ति जोड़ें?


89

मैं किसी विशालकाय फ़ाइल का उपयोग करके किसी विशालकाय फ़ाइल की पहली कुछ पंक्तियों की प्रतिलिपि कैसे बना सकता हूँ और इसके अंत में पाठ की एक पंक्ति जोड़ सकता हूँ?


1
बैश मेंhead -n 100 yourfile.csv > shrunkfile.csv && echo 'morelines' >> shrunkfile.csv
एरिक लेसचिंसी

जवाबों:


147

headआदेश पहले प्राप्त कर सकते हैं nलाइनों। विविधताएं हैं:

head -7 file
head -n 7 file
head -7l file

जिसे फाइल की पहली 7 लाइनें मिलेंगी "file"। उपयोग करने का आदेश आपके संस्करण पर निर्भर करता है head। लिनक्स पहले वाले के साथ काम करेगा।

उसी फ़ाइल के अंत में लाइनों को जोड़ने के लिए, उपयोग करें:

echo 'first line to add' >>file
echo 'second line to add' >>file
echo 'third line to add' >>file

या:

echo 'first line to add
second line to add
third line to add' >>file

एक हिट में यह करने के लिए।

इसलिए, इन दो विचारों को एक साथ बांधते हुए, यदि आप input.txtफ़ाइल की पहली 10 पंक्तियाँ प्राप्त करना चाहते हैं output.txtऔर पाँच "="वर्णों वाली एक पंक्ति को जोड़ना चाहते हैं, तो आप कुछ इस तरह का उपयोग कर सकते हैं:

( head -10 input.txt ; echo '=====' ) > output.txt

इस मामले में, हम एक उप-शेल में दोनों संचालन करते हैं ताकि आउटपुट स्ट्रीम को एक में समेकित किया जा सके, जो तब आउटपुट फ़ाइल बनाने या अधिलेखित करने के लिए उपयोग किया जाता है।


21

मैं यह मान रहा हूं कि आप जो कुछ हासिल करने की कोशिश कर रहे हैं वह एक टेक्स्टफाइल की पहली कुछ पंक्तियों के बाद एक पंक्ति सम्मिलित करना है।

head -n10 file.txt >> newfile.txt
echo "your line >> newfile.txt
tail -n +10 file.txt >> newfile.txt

यदि आप फ़ाइल से लाइनें बाकी नहीं करना चाहते हैं, तो बस पूंछ भाग को छोड़ दें।


3
सबस्क्रिप्शन ने आपको आउटपुट फ़ाइल को फिर से खोले बिना ऐसा करने दिया:(head -n10 file.txt ; echo "Some stuff" ; tail -n +10 file.txt) > newfile.txt
hobbs

5

सबसे पहले कुछ पंक्तियां: man head

रेखाओं को जोड़ें: >>बश में ऑपरेटर (?) का उपयोग करें :

echo 'This goes at the end of the file' >> file
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.