Bir dosyanın onaltılık düzeninde ilk 10 bayt nasıl yazdırılır?


Yanıtlar:


11

Buraya, ekleyecek bir şeyim olmayacağını ve bunun, sorulan bir sorunun ilk dakikasında kaç kişinin aynı 1-astarı gönderebileceğine dair bir egzersiz olacağını düşünerek üç cevap görmeye geldim. Ama yeni çıkmış bir hexdumpalet kullanan insanları buluyorum . Bu komut yolu uzun 2 harften; The One True Base (baz 8) dışında bir baz anlamına gelir; ve hatta isminden bile anlaşılıyor. Açıkçası bu Unix yolu değil.

İşte burada od("sekizli çöplük") neşesi .

İlk GNU, Linux Mint'inizde bulacağınız gibi:

od --format=x1 --read-bytes=10 foo

Şimdi BSD, ironinin aslında aynı program olduğu hexdump:

od -t x1 -N 10 foo

1
Dişlerimi her şeyin altıgen olarak yapıldığı 8 bit mikroişlemcilerde kestim. Yani bana göre, tek gerçek taban 16'dır. '84'ten beri Unix'i kullandım ve her zaman ondan her zaman nefret ettiğim bir şey, sekizli ile olan sabitlemesi: 3-bit kodlaması ile sekizli duramam sorunsuz bir şekilde birden fazla bayta yayılmaz. Ve C ve diğer dillerdeki sekizli tamsayı değişmez değerleri, bu güne hala zarar veren bir tren enkazıdır. (+1, bu arada)
Adrian Pronk

11

Seçenek -l len | -len lenşudur: <len>sekizli yazdıktan sonra dur .

Aşağıdaki gibi bir dosya ile kullanın:

xxd -l 10 file

veya

hexdump -C -n 10 file

burada xxd seçeneğiyle -n lenaynıdır -l.


5

Bunu xxdyapmak için kullanabilirsiniz .

$ xxd -ps -l 10 FILENAME
546865204d4954204c69

Bu, ilk on baytını ( -l 10) FILENAMEdüz onaltılık biçimde ( -ps) yazdırır .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.