〖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), [email protected]
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

〖Linux〗使用sed命令修改小端(little endian)存储的数据

时间: 2024-12-20 14:39:17

〖Linux〗使用sed命令修改小端(little endian)存储的数据的相关文章

Linux三剑客——sed命令简述

Linux三剑客--sed13.1 sed介绍 sed--流编辑器(stream editor) sed功能与版本:处理文本文件,日志,配置文件增加.删除.修改.查询sed --version 语法格式:sed [选项] [sed指令] [输入文件]sed -i.bak 's#boy#girl#g' oldboy.txt-i sed命令的参数s sed命令g 小尾巴/修饰 sed命令执行过程13.2 sed命令功能示例 等号'='显示行号 sed = person.txt 单行-输入行号即可 s

linux中sed命令批量修改

sed命令下批量替换文件内容  格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 文件名 -i 表示inplace edit,就地修改文件 -r 表示搜索子目录 -l 表示输出匹配的文件名s表示替换,d表示删除 示例:sed -i "s/shan/hua/g"  lishan.txt 把当前目录下lishan.txt里的shan都替换为hua sed的其他用法如下: 1.删除行首空格   sed 's/^[ ]*//g' f

linux下touch命令修改文件时间戳

linux的touch命令用来修改文件时间戳,或者新建一个不存在的文件. 上图中,access.modify.change分别是访问时间.修改时间.改变时间,即为文件的时间戳. 1.命令格式: touch [选项]... 文件名... 2.命令参数: -a   或--time=atime或--time=access或--time=use  只更改存取时间. -c   或--no-create  不建立任何文档. -d  使用指定的日期时间,而非现在的时间. -f  此参数将忽略不予处理,仅负责解

关于linux中sed命令的简单用法

linux中sed的学习和使用 今天突然用到了sed这个命令,就即兴学习了一波突然感觉这个功能还是很强的.sed在#man sed下文档查看解释的是:用于过滤和转换文本的流编辑器.即如下图: 我自己用过这个命令之后感觉对于文档来说可以显示某个区间行,显示结果还可以在段前后添加内容删除,替换内容.但是最后才发现,怎么还能直接修改到文件里不仅仅是显示出来,文件内容直接被修改了. 下面就一一介绍这个有趣的命令,莫急莫急一个一个来. 首先找个文件(没用的文件且有内容,搞坏了系统文件可不好玩了)来当测试文

linux下sed命令对文件执行文本替换

让我们看一下 sed 最有用的命令之一,替换命令.使用该命令,可以将特定字符串或匹配的规则表达式用另一个字符串替换.下面是该命令最基本用法的示例: $ sed -e ‘s/foo/bar/’ myfile.txt 上 面的命令将 myfile.txt 中每行第一次出现的 ‘foo’(如果有的话)用字符串 ‘bar’ 替换,然后将该文件内容输出到标准输出.请注意,我说的是每行第一次出现,尽管这通常不是您想要的.在进行字符串替换时,通常想执行全局替换.也就是说, 要替换每行中的所有出现,如下所示:

Linux之sed命令的使用

Linux系统维护过程中,常通过自动脚本来处理运维方面的工作,而作为运维最常用语言即SHELL来完成脚本.而涉及到替换时我们常使用SED来完成替换工作. 这里简单归纳一下SED的功能,以方便后续脚本中的应用 SED最基本的格式遵循以下形式: sed [OPTION]...{script-only-if-no-other-script} [input-file]... [OPTION]中常用的是-e -i -e 表示被修改后的对象在命令行展示出来,但对象本身实际没有进行修改.你可以理解为仅展现修改

linux中用vim命令修改.tar.gz包和.zip包命令的内容

在实际生产环境中将程序打包部署到linux上或者在linux上更新程序时,很多时候都要修改.zip包或者.tar.gz包中的配置文件的内容,如果在本机和linux上进行包程序拖动然后再进行改动那就显得非常麻烦.linux中的vim命令可以非常方便的修改.tar.gz或者.zip包中的内容.  1.用vim命令修改 apache-tomcat-7.0.82.tar.gz中server.xml中的tomcat默认端口号. 1)将apahce-tomcat-7.0.82.tar.gz进行备份(mv移动

linux中sed命令的使用(绝对精华版)

sed命令是linux或者shell编程中常用的筛选.替换命令,如果能熟练使用sed则对经常使用的人来说在工作上是非常有帮助的 下面把sed主要的用法列出来(有错误的地方大家可以指正): p命令只打印第三行,没有-n会在第三行后多打印第三行:sed -n '3p' filename 只打印最后一行:sed -n '$p' filename 只打印10到20行(包括10和20行,若后面数字小于前面数字,则只打印前面数字的行):sed -n '10,20p' filename 打印包含My在行尾的行

Linux之sed命令常见用法

1. sed(stream editor),流编辑器 linux中,主要中sed命令实现对文件的增删改替换查 名称 sed - 用于过滤和转换文本的流编辑器 SYNOPSIS sed [选项]... {script-only-if-no-other-script} [文件]... 常用选项或命令 -i 正式执行操作修改内容 -n 取消默认输出 -e 允许多项编辑 -r 使用扩展正则表达式 = 在文件内容行前增加一行行号 s 查找并替换 g 全局范围 p 打印输出 '/ /p' 正则表达式匹配/