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


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.