উত্তর:
ঠিক আছে, ধরে নিই stat
এবং bash
আপনার সাথে ফাইলের আকারটি পেতে পারেন:
stat -c %s your_file
আপনি যদি $amount
সেই ফাইলটির সাথে সর্বশেষ বাইটগুলি বের করতে চান তবে আপনি এটি dd
করতে পারেন:
dd if=your_file of=extracted_part \
bs=1 count=$amount \
skip=$(( $(stat -c %s your_file) - $amount ))
তবে স্যানার পদ্ধতির ব্যবহারটি হ'ল tail
:
tail -c $(( 1024*1024 )) your_file > target_file
-c
বিকল্প নেই head
?
dd - সাহায্য ব্যবহার: ডিডি [অপার্যান্ড] ... বা: ডিডি বিকল্প অপারেন্ডগুলি অনুসারে রূপান্তরকরণ এবং ফর্ম্যাট করা কোনও ফাইল অনুলিপি করুন। bs = BYTES একবারে BYTES বাইট পড়ুন এবং লিখুন (এছাড়াও ibs =, obs = দেখুন) cbs = BYTES একবারে BYTES বাইট রূপান্তর করে কমান্ড = CONVS কমা দ্বারা বিচ্ছিন্ন প্রতীক তালিকার হিসাবে ফাইলটি রূপান্তর করে গণনা = ব্লকগুলি কেবল ব্লক ইনপুট ব্লক অনুলিপি করে ibs = BYTES একবারে BYTES বাইট পড়ে (ডিফল্ট: 512) if = FILE স্ট্যান্ডিনের পরিবর্তে ফাইল থেকে পড়ে iflag = FLAGS কমা দ্বারা পৃথক করা প্রতীক তালিকার মতো পড়ে obs = BYTES একবারে BYTES বাইট লিখুন (ডিফল্ট: 512) অফ = স্টাইল স্টাডাউটের পরিবর্তে ফাইলে লিখুন oflag = FLAGS কমা দ্বারা পৃথক করা প্রতীক তালিকা অনুযায়ী লিখুন অনুসন্ধান = ব্লকগুলি আউটপুট শুরুর সময় ব্লকগুলি ওবস-আকারের ব্লকগুলি এড়িয়ে যান ইনপুট শুরু হওয়ার পরে skip = BLOCKS এড়িয়ে যান ব্লকস ইবস-আকারের ব্লক স্থিতি = noxfer দমন স্থানান্তর পরিসংখ্যান ব্লকস এবং বাইটস নিম্নলিখিত গুণক প্রত্যয় অনুসরণ করা যেতে পারে: সি = 1, ডাব্লু = 2, বি = 512, কেবি = 1000, কে = 1024, এমবি = 1000 * 1000, এম = 1024 * 1024, এক্সএম = এম জিবি = 1000 * 1000 * 1000, জি = 1024 * 1024 * 1024, এবং টি, পি, ই, জেড, ওয়াই এর জন্য
যদি ফাইলের আকার হুবহু 10MB হয়, 1024 * 10 10240K এটি শেষ 1024 কে ছাড়বে। আপনি ইবস এবং ওবস বিকল্পগুলি ব্যবহার করে যে ব্লক আকারটি কাজ করছেন তা নির্দিষ্ট করা উচিত।
1M = 1024K
1024*9 = 9216
dd if=/10/MB/file of=/9/MB/file count=9216K ibs=1K obs=1K
dd if=/10/MB/file of=/9/MB/file count=9M ibs=1M obs=1M
আপনি প্রথম 1MB এড়িয়ে যাওয়া ফাইলটির শেষে পড়া স্কিপ বিকল্পটি ব্যবহার করে কোনও ফাইলের প্রথম 1MB এড়িয়ে যেতে পারেন।
dd if=/10/MB/file of=/9/MB/file skip=1M ibs=1M obs=1M
সন্ধান বিকল্পটি ব্যবহার করে আপনি আপনার আউটপুট ফাইলের একটি নির্দিষ্ট জায়গায় একটি লিখতে পারেন। বলুন আপনি প্রথম 1MB রাখতে এবং শেষ 8MB লিখে রাখতে চান।
dd if=/10/MB/file of=/9/MB/file skip=1M seek=1M count=8M ibs=1M obs=1M
আপনি সঠিক পরিমাণে ডেটা ইন-আউট-এ পেয়েছেন তা নিশ্চিত করার জন্য আপনার ফাইলের আকার সম্পর্কে কিছু বিশদ নেওয়া দরকার।
ls -s --block-size 1K ./my/10MB/file
মানুষ ls --block আকার = size সাইজ-বাইট ব্লক ব্যবহার করুন। নীচে SIZE ফর্ম্যাটটি দেখুন -স, - আকার প্রতিটি ফাইলের বরাদ্দ আকার, ব্লকগুলিতে মুদ্রণ করুন সাইজ হতে পারে (বা বিকল্প হিসাবে একটি পূর্ণসংখ্যা হতে পারে) এর মধ্যে একটি হতে পারে নিম্নোক্তকরণ: কেবি 1000, কে 1024, এমবি 1000 * 1000, এম 1024 * 1024, এবং আরও, জি, টি, পি, ই, জেড, ওয়াই