`

linux shell 不同进制数据转换

 
阅读更多

转载自:http://www.cnblogs.com/chengmo/archive/2010/10/14/1851570.html

 

shell可以在不调用第3方命令,表示不同进制数据。这里总结以下表示方法。shell 脚本默认数值是由10 进制数处理,除非这个数字某种特殊的标记法或前缀开头. 才可以表示其它进制类型数值。如:以 0 开头就是 8 进制.以0x 开头就是16 进制数.使用 BASE#NUMBER 这种形式可以表示其它进制.BASE值:2-64.

 

使用方法:

  • 其它进制转为10进制

八进制转十进制:

[chengmo@centos5 ~]$ ((num=0123));
[chengmo@centos5 ~]$ echo $num;
83

[chengmo@centos5 ~]$ ((num=8#123));
[chengmo@centos5 ~]$ echo $num;    
83

((表达式)),(())里面可以是任意数据表达式。如果前面加入:”$”可以读取计算结果。

十六进制转十进制:

[chengmo@centos5 ~]$ ((num=0xff)); 
[chengmo@centos5 ~]$ echo $num;    
255
[chengmo@centos5 ~]$ ((num=16#ff));
[chengmo@centos5 ~]$ echo $num;    
255

base-32转十进制:

[chengmo@centos5 ~]$ ((num=32#ffff));
[chengmo@centos5 ~]$ echo $num;      
507375

base64转十进制:

[chengmo@centos5 ~]$ ((num=64#abc_)); 
[chengmo@centos5 ~]$ echo $num;       
2667327

二进制转十进制

[chengmo@centos5 ~]$ ((num=2#11111111));  
[chengmo@centos5 ~]$ echo $num;
255

 

  • 十进制转为其它进制

十进制转八进制

这里使用到:bc外部命令完成。bc命令格式转换为:echo "obase=进制;值"|bc

[chengmo@centos5 ~]$ echo "obase=8;01234567"|bc
4553207

二进制,十六进制,base64转换为 十进制也相同方法。

[chengmo@centos5 ~]$ echo "obase=64;123456"|bc  
30 09 00

 

shell,内置各种进制表示方法非常简单。记得base#number 即可。这里记得赋值时候用(())符号。不能直接用=号了。=号没有值类型。默认将后面变成字符串了。如:

[chengmo@centos5 ~]$ num=0123;
[chengmo@centos5 ~]$ echo $num;
0123

0开头已经失去了意义了。

可以通过定义符:let达到(()) 运算效果。

[chengmo@centos5 ~]$ let num=0123;
[chengmo@centos5 ~]$ echo $num;   
83

 

分享到:
评论

相关推荐

    shell二进制转换为十进制的脚本

    找到的一个不错的脚本,自己稍作修改,跟大家一起分享!

    linux shell 实现IP和数字的转换

    下面我们将详细介绍如何使用Linux Shell实现这两种IP地址形式的转换。 首先,我们要了解IP地址的十进制表示。一个IP地址由4个八位字节组成,每个字节的范围是0到255。例如,IP地址192.168.1.1可以转换为十进制整数...

    shell实现netmask掩码和cidr掩码位转换1

    shell实现netmask掩码和cidr掩码位转换 Shell 实现 Netmask 掩码和 CIDR 掩码位转换是一种常用的网络协议 软件/插件,经常在写脚本时...* 《Unix/Linux Shell 编程》 * 《网络协议基础》 * 《Shell 脚本编程技术》

    linux 下读取文件并输出其 16 进制

    `od`(octal dump,八进制转储)也是一个内置的Linux命令,它可以将文件内容以不同的格式(包括16进制)输出。要输出16进制,可以使用: ```bash od -Ax -tx1 filename ``` 这里`-A`指定地址格式为绝对,`-x`表示...

    Linux命令之bc--浮点计算器、进制转换

    ### Linux命令之bc -- 浮点计算器、进制转换 #### 概述 在Linux环境中,用户经常需要处理各种计算任务。尽管Bash环境已经具备了处理整数运算的能力,但对于涉及浮点数的复杂计算,则显得力不从心。这时,`bc` 命令...

    Hex-conversion.zip_conversion_linux 十六进制

    此外,Linux还提供了许多内置工具来进行十六进制转换,例如`od`(octal dump)命令可以用于将十进制数转换为十六进制字符串,`bc`计算器支持各种数值计算,包括十进制到十六进制的转换。这些工具在日常开发和调试中...

    在linux环境中将Excel转换成文本的命令

    自动化任务以shell为例,shell不能直接操作Excel文档,需要将Excel转换成文本然后在解析和分析,我使用GO语言开发编译成二进制命令,上传到服务器当命令使用。

    Linux Shell脚本编程基础

    本文还提供了两个示例脚本:二进制到十进制的转换和文件循环拷贝。 6. 脚本调试 Shell脚本的调试是非常重要的,可以使用echo语句来输出变量的值和命令的执行结果,从而帮助我们了解脚本的执行过程。 本文对Linux...

    linux-在你的shell中快速获得真实的模拟假内容数据

    标题中的“Linux-在你的shell中快速获得真实的模拟假内容数据”指的是在Linux终端环境中,通过特定工具或脚本来生成模拟的、具有真实感的数据。这通常用于测试、数据分析、性能基准测试或教学目的,避免使用真实的...

    linux处理10万个二进制文件

    这里涉及到了Linux Shell脚本以及`awk`命令,这两个工具在Linux系统中被广泛用于文件处理和数据操作。 首先,我们来了解下`awk`命令。`awk`是一个强大的文本分析工具,它能够处理一行一行的数据,按照指定的模式...

    给linux的shell脚本加密(ZT).rar_Linux shell_shell 脚本_shell加密_shell脚本

    可以使用一些工具(如shc - Shell Script Compiler)将脚本转换为编译过的二进制形式,使得原始代码难以理解。shc将Shell脚本转换为一个可执行的C程序,这个程序包含了加密后的脚本内容。 2. **使用加密容器**:...

    Shell转换成C

    在Unix/Linux环境中,为了增强脚本的安全性,有时我们需要将Shell脚本转换成C语言代码,然后编译成可执行程序。这个过程主要是利用一种工具,例如`shc`(Shell to C Compiler),它能够将Bash或其它Shell脚本转化为C...

    str2hex.rar

    这个过程涉及到多个IT领域的知识,包括文本处理、十六进制与二进制转换、音频编码以及Linux命令行操作。 首先,我们要理解"str2hex"的基本概念。在这个场景中,"str2hex"可能是一个脚本或程序,它的主要任务是读取...

    Linux Shell脚本系列教程(五):数学运算.docx

    bc 工具也可以进行进制转换。例如: no=100 echo obase=2;$no | bc obase 为目标进制,ibase 为原进制,默认情况下原进制为 10。 bc 工具还可以计算平方根和平方。例如: echo sqrt(100) | bc echo 10^10 | bc ...

    Linux系统管理-shell基础1.pdf

    Linux系统管理中的Shell基础主要涉及对Shell这一概念的理解和运用。Shell是用户和操作系统之间交互的一种接口,它提供了一个命令行界面,允许用户输入命令并执行。Shell能够解释用户输入的命令,并调用相应的系统...

    linux_shell编程实例与参数分析

    Linux Shell编程是Linux系统管理与自动化任务中的核心技能之一,它提供了一种高效的方式来执行命令、操作文件和处理数据。本文将深入探讨shell编程的一些关键概念、实例和参数分析。 首先,`umask`是一个非常重要的...

    Linux_Shell编程基础

    目录 • 1 变量赋值和引用 2 Shell 里的流程控制 o 2.1 if 语 句 o 2.2 && 和 || 操作符 o 2.3 case 语句 o 2.4 select 语句 o 2.5 while/for 循环 ...o 6.1 二进制到十进制的转换 o 6.2 文件循环拷贝 • 7 脚本调试

    kaitai_struct:Kaitai Struct:使用C ++ C#生成二进制数据解析器的说明性语言Java JavaScript Lua Perl PHP Python Ruby

    **Kaitai Struct** 是一个强大的开源项目,用于定义和解析二进制数据结构,如文件格式、网络协议、内存数据库或任何其他形式的结构化二进制数据。它的核心理念是提供一种声明性语言,使得开发者可以描述二进制数据的...

    sokit linux数据收发工具

    它提供了丰富的功能,使用户能够轻松地在不同的系统之间进行数据传输和通信,是Linux环境中进行网络调试、数据采集和分析的理想工具。 【描述】"sokit Linux数据收发工具"通过其强大的数据传输能力,简化了在Linux...

    linux下shell脚本的QT翻译工具的使用,生成ts和qm

    在Linux环境下,Qt开发人员经常面临的一个挑战是处理应用程序的多语言支持,这涉及到将UI界面文本翻译成不同语言的过程。本文将详细介绍如何利用shell脚本和Qt提供的工具来实现这个过程,主要涉及两个关键文件类型:...

Global site tag (gtag.js) - Google Analytics