Tôi có một tệp có dữ liệu nhị phân và tôi cần phải thay thế một vài byte ở một vị trí nhất định. Tôi đã đưa ra những điều sau đây để chỉ đạo bash để bù đắp và chỉ cho tôi mà nó tìm thấy nơi tôi muốn:sử dụng bash: ghi bit đại diện của số nguyên vào tập tin
dd bs=1 if=file iseek=24 conv=block cbs=2 | hexdump
Bây giờ, để sử dụng "tập tin" như đầu ra:
echo anInteger | dd bs=1 of=hextest.txt oseek=24 conv=block cbs=2
Điều này dường như làm việc tốt, tôi có thể xem lại những thay đổi được thực hiện trong một trình soạn thảo hex. Vấn đề là, "anInteger" sẽ được viết như là biểu diễn ASCII của số nguyên đó (có ý nghĩa) nhưng tôi cần phải viết biểu diễn nhị phân.
Tôi muốn sử dụng bash cho điều này và tập lệnh sẽ chạy trên càng nhiều hệ thống càng tốt (Tôi không biết liệu hệ thống đích sẽ có python hay bất kỳ cài đặt nào).
Làm cách nào để yêu cầu lệnh chuyển đổi đầu vào thành nhị phân (có thể từ hex)?
Bạn có thể muốn sử dụng xdelta cho điều này - nó đủ phổ biến mà nó có thể là 'phổ quát' cho bạn. – MikeyB
Không chắc chắn ý bạn là gì bởi "xdelta". Không có lệnh như vậy trên vỏ của tôi ... –