উত্তর:
আমি যতদূর জানি dd
প্যাড ব্যবহার করে বলার উপায় নেই 0xFF
। তবে একটি কর্মক্ষেত্র আছে।
প্রথমে প্রয়োজনীয় দৈর্ঘ্য সহ একটি ফাইল তৈরি করুন 0xFF
:
$ dd if=/dev/zero ibs=1k count=100 | tr "\000" "\377" >paddedFile.bin
100+0 records in
200+0 records out
102400 bytes (102 kB) copied, 0,0114595 s, 8,9 MB/s
tr
এর সাথে জিরোগুলি প্রতিস্থাপন করতে ব্যবহৃত হয় 0xFF
। tr
অষ্টালে যুক্তি প্রত্যাশা করে। 0xFF
অক্টাল হয় \377
।
ফলাফল:
$ hexdump -C paddedFile.bin
00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
*
00019000
তারপরে "প্যাডড" ফাইলের শুরুতে ইনপুট ফাইলটি প্রবেশ করান:
$ dd if=inputFile.bin of=paddedFile.bin conv=notrunc
0+1 records in
0+1 records out
8 bytes (8 B) copied, 7,4311e-05 s, 108 kB/s
আউটপুট ফাইলটি কেটে ফেলতে না conv=notrunc
জানায় dd
তা নোট করুন।
উদাহরণ ইনপুট ফাইল:
$ hexdump -C inputFile.bin
00000000 66 6f 6f 0a 62 61 72 0a |foo.bar.|
00000008
ফলাফল:
$ hexdump -C paddedFile.bin
00000000 66 6f 6f 0a 62 61 72 0a ff ff ff ff ff ff ff ff |foo.bar.........|
00000010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
*
00019000
লেসমানার উত্তরের একটি সম্ভাব্য উন্নতি হ'ল জায়গাটিতে থাকা ফাইলটি পরিচালনা করা। বৃহত ইনপুট ফাইলগুলির জন্য এটি অনেক দ্রুত হতে পারে এবং স্পার্স ফাইলগুলিকে খুব কম রাখবে। তবে, অনেক পরিস্থিতিতে আপনি নিজের ইনপুট ফাইলটি সংশোধন করতে চান না এবং তাই এই পদ্ধতিটি অনুপযুক্ত।
নিম্নলিখিত উদাহরণটি একটি বৃহত, স্পার্স ইনপুট ফাইল দিয়ে শুরু হয় এবং এফএফ অক্ষরের সাথে এটি 1 জিবি আকার পর্যন্ত প্যাড করে। কেবল newsize
আপনার পছন্দসই মানটিতে পরিবর্তন করুন । আপনি দেখতে পাচ্ছেন যে dd
এই ফাইলটি খুব বড় হওয়া সত্ত্বেও অংশটি এক সেকেন্ডের একটি ভগ্নাংশ নেয়।
$ ls -ld inputFile.bin
-rw-rw-r-- 1 … 1073741700 … inputFile.bin
$ hexdump inputFile.bin
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
3fffff80 0000 0000
3fffff84
$ newsize=$((1024 * 1024 * 1024))
$ filesize=$(stat -c "%s" inputFile.bin)
$ padcount=$((newsize - filesize))
$ dd if=/dev/zero ibs=1 count="$padcount" | tr "\000" "\377" >> inputFile.bin
124+0 records in
0+1 records out
124 bytes (124 B) copied, 0.000162309 s, 764 kB/s
$ ls -ld inputFile.bin
-rw-rw-r-- 1 … 1073741824 … inputFile.bin
$ hexdump inputFile.bin
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
3fffff80 0000 0000 ffff ffff ffff ffff ffff ffff
3fffff90 ffff ffff ffff ffff ffff ffff ffff ffff
*
40000000
paddedFile.bin
পূর্ণ হয়c3 bf
। আমি ভাবছি কেন? সম্পাদনা করুন: superuser.com/questions/1349494/…