zoukankan      html  css  js  c++  java
  • 〖Linux〗使用sed命令修改小端(little endian)存储的数据

     1 #!/bin/bash - 
     2 #===============================================================================
     3 #
     4 #          FILE: hex_change.sh
     5 # 
     6 #         USAGE: ./hex_change.sh 
     7 # 
     8 #   DESCRIPTION: 
     9 # 
    10 #       OPTIONS: ---
    11 #  REQUIREMENTS: ---
    12 #          BUGS: ---
    13 #         NOTES: ---
    14 #        AUTHOR: linkscue (scue), linkscue@gmail.com
    15 #  ORGANIZATION: 
    16 #       CREATED: 2014年08月07日 00时05分55秒 CST
    17 #      REVISION:  ---
    18 #===============================================================================
    19 
    20 # hex_change 修改二进制文件
    21 # 语法:hex_change 00ABCDEF 00ABCDEF file
    22 #       hex_change [0x]00ABCDEF [0x]00ABCDEF file
    23 hex_change(){
    24     local hex=${1#0x}
    25     local hexnew=${2#0x}
    26     local bin=$3
    27     hex=$(echo $hex|tr a-z A-Z)                 # 小写转大写
    28     hexnew=$(echo $hexnew|tr a-z A-Z)           # 小写转大写
    29     echo "convert hex: 0x$hex 0x$hexnew"
    30     p1="x${hex:6:2}"
    31     p2="x${hex:4:2}"
    32     p3="x${hex:2:2}"
    33     p4="x${hex:0:2}"
    34     pn1="x${hexnew:6:2}"
    35     pn2="x${hexnew:4:2}"
    36     pn3="x${hexnew:2:2}"
    37     pn4="x${hexnew:0:2}"
    38     echo sed -i "s/$p1$p2$p3$p4/$pn1$pn2$pn3$pn4/g" $bin
    39     sed -i "s/$p1$p2$p3$p4/$pn1$pn2$pn3$pn4/g" $bin
    40 }
    41 
    42 hex_change ABCDEF55 DDCCBBAA ./1.bin
  • 相关阅读:
    指针类型
    集合类型
    VMware打开虚拟机没反应的解决方案(全面汇总)
    redis主从|哨兵|集群模式
    MYSQL一次千万级连表查询优化
    StackExchange.Redis通用封装类分享
    Redis-五种数据类型解析
    Redis并发问题
    C#委托和事件
    Invoke 和 BeginInvoke 的区别
  • 原文地址:https://www.cnblogs.com/scue/p/3896112.html
Copyright © 2011-2022 走看看