আমি উচ্চাভিলাষী কারণে অগণিত কারণে একটি সি ++ কোডটিকে ব্যাশে অনুবাদ করার চেষ্টা করছি।
এই কোডটি আমার সাব-ফিল্ডের সাথে সুনির্দিষ্ট একটি ফাইল টাইপ পড়ে এবং পরিচালনা করে যা বাইনারিতে সম্পূর্ণরূপে লিখিত এবং কাঠামোগত। আমার প্রথম বাইনারি সম্পর্কিত টাস্কটি হাইডারের প্রথম 988 বাইট হুবহু হ'ল অনুলিপি করা এবং এগুলিকে একটি আউটপুট ফাইলে রেখে দেওয়া উচিত যা আমি বাকী তথ্য উত্পন্ন করার সাথে সাথে লিখতে পারি।
আমি নিশ্চিত যে আমার বর্তমান সমাধানটি কাজ করছে না এবং বাস্তবতাগতভাবে এটি নির্ধারণের জন্য আমি কোনও ভাল উপায় বের করতে পারি নি। সুতরাং এটি আসলে সঠিকভাবে লেখা থাকলেও, আমার নিশ্চিত হওয়া দরকার যে আমি কীভাবে এটি পরীক্ষা করব!
আমি এখনই এটি করছি:
hdr_988=`head -c 988 ${inputFile}`
echo -n "${hdr_988}" > ${output_hdr}
headInput=`head -c 988 ${inputTrack} | hexdump`
headOutput=`head -c 988 ${output_hdr} | hexdump`
if [ "${headInput}" != "${headOutput}" ]; then echo "output header was not written properly. exiting. please troubleshoot."; exit 1; fi
আমি যদি ফাইলের এই অংশটি যাচাই করার জন্য যদি হেক্সডাম্প / এক্সএক্সডিডি ব্যবহার করি তবে যদিও আমি এর বেশিরভাগ অংশই ঠিকঠাকভাবে পড়তে পারি না, কিছু ভুল বলে মনে হচ্ছে। এবং তুলনার জন্য আমি যে কোডটি লিখেছি তা কেবল আমাকে বলে যে দুটি স্ট্রিং অভিন্ন কিনা, সেগুলি আমি যেভাবে চাই সেভাবে অনুলিপি করা হয় না।
ব্যাশে এটি করার আরও ভাল উপায় আছে কি? কোনও ফাইল ভারব্যাটিয়ামে অনুলিপি করার জন্য আমি কী কেবল দেশীয়-বাইনারিগুলিতে বাইনারি বাইটগুলি অনুলিপি / পড়তে পারি? (এবং আদর্শভাবে ভেরিয়েবল হিসাবে সংরক্ষণ করার জন্য)।
dd
পৃথক বাইট (তার সেটিং কপি করতেcount
করতে1
)। যদিও সেগুলি সংরক্ষণ করার বিষয়ে আমি নিশ্চিত নই।