উত্তর:
ইউনিক্সের ডয়ারড্যাভিল কমান্ড, dd
উদ্ধার করার জন্য!
dd if=yourfile ibs=1 skip=200 count=100
এটি 200 বাইট থেকে শুরু হবে এবং 100 পরবর্তী বাইটগুলি বা অন্য কথায়, 200-300 বাইট প্রদর্শন করবে। ibs
মানে ডিডিএল ডিফল্ট 512 বাইটের পরিবর্তে একবারে কেবল একটি বাইট পড়ে, কিন্তু তবুও ডিফল্ট 512 বাইট খণ্ডে লিখে দেয়। ibs
পারফরম্যান্সের ক্ষতি করে কিনা দেখুন , আশা করি না।
আপনি ব্যবহার করতে পারেন dd if=logfile of=pieceoflogfile skip=startingblock count=#ofblocks
(সম্ভবত bs=1
এক-বাইট ব্লক পেতে, অন্যথায় এটি 512 বাইট ব্লক ব্যবহার করে)। যদিও এটি একবারে একটি বাইট লিখতে বলার পক্ষে কতটা দক্ষ তা নিশ্চিত নয়।
dd
এর নল-শৃঙ্খলিত একসঙ্গে (1 ম চর্বি টুকরা কাটা পারে এবং 2nd নল উপর জরিমানা কাজ করবে, চাকতি নয়) হতে পারে, কিন্তু dd
না শুধুমাত্র হয়েছে bs
কিন্তু পৃথক ibs
এবং obs
সেইসাথে, তাই এ অন্তত এটি পড়ার চেয়ে বড় ব্লকগুলির সাথে আউটপুট পারে।
ধরে নিই যে ফাইলটি খুব বেশি বড় নয় (যেমন বেশ কয়েকটি জিবি বা তাই), একের পরের দিকে পাইপিং করা আপনার পক্ষে যতটা দক্ষ, তা করার জন্য আপনার নিজের প্রোগ্রামের লেখার সংক্ষিপ্ততা।
head ... file | tail ...
(অথবা চারপাশে অন্যভাবে Wh যেদিকেই হোক))
time dd if=file.txt | wc -l
= 00: 00: 03 এস।time dd if=file.txt ibs=1 count=782090815 | wc -l
= 9:05:19