ইউনিক্স বিড়াল লাইন থেকে শুরু


40

নির্দিষ্ট লাইন (70000 এর মতো বড় সংখ্যা) থেকে শুরু করে কোনও ফাইল থেকে আউটপুট দেওয়ার সর্বোত্তম উপায় কী। কিছুটা এইরকম:

cat --line=70000 <file>

উত্তর:


60

লেজটি একবার দেখুন, আরও সুনির্দিষ্টভাবে, এটি --lines = + N সুইচ:

tail --lines=+100 <file>

কি দারুন. আমি এটি 8 বছর ধরে লিনাক্সে ব্যবহার করার পরেও জানতাম না! আমি সবসময় ব্যাশ এফএন ব্যবহার করতাম! ধন্যবাদ! getFromLine () {লিনেনো = wc -l $1 | awk '{print $1}'; লিনেনো = expr $lineno - $2; লেজ -n $ লিনেনো $ 1; }
নিরাপদ বাদশা

2
একটি নোট হিসাবে, এটি মাউন্টেন সিংহ (ডারউইন কার্নেল সংস্করণ 13.1.0) এ কাজ করে না। মাউন্টেন সিংহের রূপটি হ'লtail -n
কৌশিক ঘোস

22

সর্বাধিক সুস্পষ্ট উপায় tail। আপনি কী ওএস ব্যবহার করছেন তার উপর নির্ভর করে সিনট্যাক্সটি কিছুটা আলাদা হতে পারে:

tail -n +70000

আপনি যদি tailকাজে না আসতে পারেন sedতবে আপনি ব্যবহার করতে পারেন তবে এটি ধীর হতে পারে:

sed -pe '1,69999d'

tailমিনজিডব্লিউতে (600 এমবি টেক্সট ফাইলে) সবেমাত্র কাজ করেছে file রানটাইমটি কয়েক সেকেন্ডের ছিল (তবে ইনপুট ফাইলটি ইতিমধ্যে ফাইল ক্যাশে থাকতে পারে)।
পিটার মর্টেনসেন

2

যদি কোনও লাইন সংখ্যার পরিবর্তে প্রদত্ত লাইনটিতে তালিকা শুরু করতে হয় $phraseতবে নীচের চেষ্টা করুন।

more -1000 +/"$phrase" yourfilename | sed '1,4d'

-1000 ধারাবাহিকভাবে 1000 লাইনের জন্য পাঠ্য তালিকাভুক্ত করবে; আপনি প্রয়োজন হিসাবে এটি পরিবর্তন করতে পারেন। sedকমান্ড আউটপুট, যা স্বয়ংক্রিয়ভাবে দ্বারা সন্নিবেশিত হয়েছিল প্রথম 4 লাইন কেটে হবে more, একটি ফাঁকা লাইন, বার্তা "... কুঁদন", এবং দুই লাইন আপনার উদ্দেশ্যে শুরু লাইন পূর্ববর্তী রয়েছে। আমার ধারণা এটি আপনার সিস্টেমের উপর নির্ভর করে পরিবর্তিত হতে পারে।


2

আপনি awk কমান্ডের সাহায্যে এনআর প্যারামিটার ব্যবহার করতে পারেন :

cat <file> | awk '{if (NR>=7000) print}'

2
আপনি অন্যান্য সীমা সহ এই আদেশটি ব্যবহার করতে পারেন। একটি নমুনা হিসাবে: cat messages | awk '{if (NR>=7000 && NR <7003) print}'আপনাকে কেবল 7000, 7001 এবং 7002 সারি দেখায়।
জিফোলজ

-1

2
আকর্ষণীয় লিঙ্ক, তবে এটি সত্যিই কোনও তথ্য দেয় না যা এই প্রশ্নের ক্ষেত্রে প্রযোজ্য, এবং আপনার tailপরামর্শটি সপ্তাহের আগের থেকে গৃহীত এবং অন্যান্য উত্তরগুলির মতো। কেন পোস্ট করতে বিরক্ত করবেন?
কোয়াকোটা কোয়েসোট

লিঙ্কটি নষ্ট -...can't find the server at www.scripterworld.com.
পিটার মর্টেনসেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.