সর্বশেষ 100 লাইন লগগুলি পুনরুদ্ধার করুন


164

লগ ফাইল থেকে আমার সর্বশেষ 100 লাইন লগগুলি পুনরুদ্ধার করতে হবে। আমি সেড কমান্ড চেষ্টা করেছিলাম

sed -n -e '100,$p' logfilename

দয়া করে আমাকে জানতে দিন আমি কীভাবে বিশেষভাবে শেষ 100 টি লাইন পুনরুদ্ধার করতে এই আদেশটি পরিবর্তন করতে পারি ।


এটি ম্যানুয়ালটিতে উল্লেখ করা হয়েছে: gnu.org/software/sed/manual/html_node/tail.html# টেইলে , কীভাবে লেজ অনুকরণ করতে পারে।
লার্স ফিশার 19

1
লেজ -f -n 100 লগফিলনাম
ভারতী

উত্তর:


301

আপনি টেল কমান্ডটি নিম্নরূপ ব্যবহার করতে পারেন :

tail -100 <log file>   > newLogfile

এখন সর্বশেষ 100 লাইন উপস্থিত হবে newLogfile

সম্পাদনা করুন:

টালবার্গ ইউজ কমান্ড দ্বারা উল্লিখিত লেজের আরও সাম্প্রতিক সংস্করণ :

tail -n 100 <log file>   > newLogfile

17
নোট করুন যে আরও কয়েকটি সাম্প্রতিক সংস্করণগুলির tailসিনট্যাক্সের প্রয়োজন tail -n 100 <filename>...
টওয়ালবার্গ

14

দেখুন, সেডের জন্য ডকুমেন্টেশনে আপনি যে 100 টি সর্বশেষ লাইনগুলি মুদ্রণ করতে পারেন সেগুলি স্ক্রিপ্ট ( https://www.gnu.org/software/sed/manual/sed.html#tail ):

$ cat sed.cmd
1! {; H; g; }
1,100 !s/[^\n]*\n//
$p

$ sed -nf sed.cmd logfilename

আমার পক্ষে এটি আপনার স্ক্রিপ্টের চেয়ে আরও বেশি কঠিন

tail -n 100 logfilename

অনেক অনেক সহজ। এবং এটি বেশ দক্ষ, এটি প্রয়োজনীয় না হলে এটি সমস্ত ফাইল পড়বে না। স্ট্রেস রিপোর্টের সাথে আমার উত্তর দেখুন tail ./huge-file: /unix/102905/does-tail-read-the- whole-file/102910#102910


13

"লেজ" একটি ফাইলের শেষ অংশটি প্রদর্শন করার জন্য কমান্ড, যথাযথ উপলভ্য সুইচগুলি ব্যবহার করে আমাদের আরও নির্দিষ্ট আউটপুট পেতে সহায়তা করে। আমার জন্য সর্বাধিক ব্যবহৃত স্যুইচ হ'ল -n এবং -f

সংক্ষিপ্তসার

লেজ [-F | -ফ | -আর] [-কিউ] [-বি সংখ্যা | -সি নম্বর | -ন নাম্বার] [ফাইল ...]

এখানে

-n সংখ্যা: অবস্থানটি সংখ্যা লাইন।

-f: -f বিকল্পটি ফাইলের সমাপ্তি হলে লেজ থামবে না, বরং ইনপুটে অতিরিক্ত ডেটা যুক্ত হওয়ার জন্য অপেক্ষা করবে। স্ট্যান্ডার্ড ইনপুটটি যদি পাইপ হয় তবে -f বিকল্পটি অগ্রাহ্য করা হবে, তবে এটি কোনও ফিফো কিনা।

সর্বশেষ 100 লাইন লগগুলি পুনরুদ্ধার করুন

To get last static 100 lines  
     tail -n 100 <file path>

To get real time last 100 lines
     tail -f -n 100 <file path>

3

আমি জানি এটি খুব পুরানো, তবে, যার পক্ষে এটি সহায়তা করতে পারে।

less +F my_log_file.log

এটি কেবলমাত্র বেসিক, কম সহ আপনি আরও অনেক শক্তিশালী কাজ করতে পারেন। একবার আপনি লগগুলি দেখতে শুরু করলে আপনি অনুসন্ধান করতে পারেন, লাইন নম্বরটিতে যেতে পারেন, প্যাটার্নটি অনুসন্ধান করতে পারেন, আরও অনেক বেশি প্লাস এটি বড় ফাইলগুলির জন্য দ্রুত।

এটি লগগুলির জন্য ভিমের মতো (সম্পূর্ণ আমার মতামত)

আসল কমের ডকুমেন্টেশন: https://linux.die.net/man/1/less

কম চিটশিট: https://gist.github.com/glnds/8862214


1
len=`cat filename | wc -l`
len=$(( $len + 1 ))
l=$(( $len - 99 ))
sed -n "${l},${len}p" filename

প্রথম লাইন ফাইলের দৈর্ঘ্য (সম্পূর্ণ লাইনগুলি) নিবে তার পরে মোট লাইনে +1 করতে হবে তার পরে আমাদের 100 টি রেকর্ড দেখতে হবে, -99 মোট দৈর্ঘ্য থেকে কেবল ভেরিয়েবলগুলি সেড কমান্ডের মধ্যে রেখে ফাইল থেকে শেষ 100 লাইন আনতে হবে

আমি আশা করি এটা তোমাকে সাহায্য করবে।

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