কোনও জায়ান্ট ফাইলের প্রথম কয়েকটি লাইন কীভাবে অনুলিপি করবেন এবং কিছু লিনাক্স কমান্ড ব্যবহার করে এর শেষে পাঠ্য একটি লাইন যুক্ত করবেন?


92

আমি কীভাবে কোনও বিশাল ফাইলের প্রথম কয়েকটি লাইন অনুলিপি করব এবং এর শেষে কিছু লিনাক্স কমান্ড ব্যবহার করে একটি পাঠ্য লাইন যুক্ত করব?


4
ব্যাশেhead -n 100 yourfile.csv > shrunkfile.csv && echo 'morelines' >> shrunkfile.csv
এরিক Leschinski

উত্তর:


151

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

এই ক্ষেত্রে, আমরা একটি সাব-শেলের মধ্যে উভয় ক্রিয়াকলাপ করি যাতে আউটপুট স্ট্রিমগুলিকে একের মধ্যে একীকরণ করা যায়, যা পরে আউটপুট ফাইল তৈরি বা ওভাররাইট করতে ব্যবহৃত হয়।


22

আমি ধরে নিচ্ছি আপনি যা অর্জন করতে চাইছেন তা হ'ল একটি পাঠ্য ফাইলের প্রথম কয়েকটি লাইনের পরে একটি লাইন toোকানো।

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

আপনি যদি ফাইলটি থেকে বাকি রেখাগুলি না চান, কেবল লেজের অংশটি এড়িয়ে যান।


4
সাব-হেলগুলি আপনাকে আউটপুট ফাইলটি আবার খোলা না করে এটি করতে দেয়:(head -n10 file.txt ; echo "Some stuff" ; tail -n +10 file.txt) > newfile.txt
2-24

5

প্রথম কয়েক লাইন: man head

লাইন যুক্ত করুন: >>বাশে অপারেটর (?) ব্যবহার করুন :

echo 'This goes at the end of the file' >> file
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.