และในทางกลับกัน.
ฉันใช้ RedHat ถ้าเกี่ยวข้อง
และในทางกลับกัน.
ฉันใช้ RedHat ถ้าเกี่ยวข้อง
คำตอบ:
คุณไม่สามารถทำเช่นนี้เพราะสำหรับการแปลงดังกล่าวคุณจำเป็นต้องรู้ความหมายของเนื้อหาไบนารี
หากเช่นมีสตริงอยู่ในไฟล์ไบนารีจะต้องไม่ถูกแปลงและจำนวนเต็ม 4 ไบต์อาจต้องใช้วิธีที่แตกต่างจากจำนวนเต็มสองไบต์
กล่าวอีกนัยหนึ่งสำหรับการแปลงคำสั่งแบบไบต์คุณต้องการคำอธิบายชนิดข้อมูล
คุณสามารถ byteswap dd
กับ พอเพียงหรือไม่ หากไม่มีโปรดอัปเดตคำถามของคุณเพื่อให้ตัวอย่างไฟล์อินพุตและไฟล์ outfile ที่คาดหวัง
echo hello >infile
dd conv=swab <infile >outfile
hex infile
0000 68 65 6c 6c 6f 0a hello.
hex outfile
0000 65 68 6c 6c 0a 6f ehll.o
ในการเปลี่ยนไฟล์ endianess โดยสมมติว่าขนาด word (32- บิต) ไลเนอร์ 1 อันนี้น่าจะเหมาะกับคุณ:
hexdump -v -e '1/4 "%08x"' -e '"\n"' input_file | xxd -r -p > output_file