আমার কাছে বিরক্তিকর পার্টিশনের একটি 30gb ডিস্ক চিত্র রয়েছে (মনে করুন dd if=/dev/sda1 of=diskimage
) যা থেকে আমার কিছু পাঠ্য ফাইল পুনরুদ্ধার করা দরকার। ডেটা খোদাইয়ের সরঞ্জামগুলি foremost
কেবলমাত্র সংজ্ঞায়িত শিরোনামযুক্ত ফাইলগুলিতে কাজ করে, যেমন সরল পাঠ্য ফাইল নয়, তাই আমি আমার ভাল বন্ধুর পিছনে ফিরে এসেছি strings
।
strings diskimage > diskstrings.txt
একটি 3 জিবি পাঠ্য ফাইল তৈরি করেছে যা বেশিরভাগ অকেজো স্টাফগুলির একটি গুচ্ছ রয়েছে, আমি যে পাঠ্যটি চাই তা মিশ্রিত করে।
ক্রুফ্টের বেশিরভাগ অংশটি জিব্বারিশের দীর্ঘ দীর্ঘ, অবিচ্ছিন্ন স্ট্রিংগুলির হয়ে থাকে। আমি যে জিনিসটিতে আগ্রহী সেগুলি 16kb এর চেয়ে কম হওয়ার গ্যারান্টিযুক্ত, সুতরাং আমি লাইন দৈর্ঘ্যে ফাইলটি ফিল্টার করব। আমি এটি করার জন্য পাইথন স্ক্রিপ্টটি এখানে দিচ্ছি:
infile = open ("infile.txt" ,"r");
outfile = open ("outfile.txt","w");
for line in infile:
if len(line) < 16384:
outfile.write(line)
infile.close()
outfile.close()
এই কাজ, কিন্তু ভবিষ্যতে উল্লেখের জন্য: কোন ঐন্দ্রজালিক এক লাইন incantations (মনে হয় awk
, sed
) যে লাইন দৈর্ঘ্য দ্বারা একটি ফাইল ফিল্টার করবে?