1、显示小数点前的0

由于bc计算器目前还不支持显示小数点前的0,所以我们要用一用强大的awk工具啦!

例如:

echo "scale=2; 0.13 + 0.1" | bc | awk '{printf "%.2f", $0}'

2、表示1~21的命令

echo `seq 1 21`

3、shell 将字符串转换为数字
例如:a="024"

1.用${{a}}

2.用let达到(()) 运算效果。

let num=0123;
echo $num; 
83

3.双括号运算符:

a=$((1+2));

echo $a;

等同于:

a=`expr 1 + 2`

echo "2019年8月21日" | tr -cd "[0-9]"

这样就得到2019821

4、time命令简介

用于打印出一条命令或一个程序的执行时间
time 命令以秒为单位将一条命令执行期间所用的时间、系统时间和 time 命令的执行时间打印在标准错误中

time结果由三部分组成:real、user和sys

有时处于数据处理的需要,我们需要将time的运行结果输出到文件中,并进行相应的处理,一般情况下都是要得到real的结果,这时如果直接用平时使用的重定向的方法去导入到文件,是不会达到想要的效果;time命令的输出结果是到stderr的,而不是到stdout,所以重定向的方法需要改变。例如:

(time ls) 2>>out.txt

>>  符号是重定向并添加到文件中,也就是文件内容不会进行覆盖

>  符号,大家应该猜到了吧,这个达到的效果是直接将前面的内容覆盖掉

数值之间的比较

>   =   <   >=   <=

比较格式: [ num1 比较符 num2 ]    左边的括号与num1之间有一个空格,num2和右边的括号之间也有空格。

比较符:
-eq 判断相等,相等返回true,否则返回false
-ne 判断是否不相等,不相等返回true,否则返回false
-gt 判断左边是否大于右边的值,大于则返回true,否则返回false
-lt 判断左边是否小于右边的值,小于则返回true,否则返回false
-ge 判断左边是否大于或等于右边的值,大于则返回true,否则返回false
-le 判断左边是否小于右边的值,小于则返回true,否则返回false

小数的比较
1.用bc 对小数进行运算
echo 5.5+1.1 | bc
6.6

2.强大的awk判断小数点后的位数

a=5.2130;echo $a | awk '{printf "%.3f", $0}'

5.213
3.用awk比较大小

awk -v num1=1 -v num2=0.251 'BEGIN{print(num1>num2)?"0":"1"}'
0
如果num1>num2打印输出0,否则输出1

4.用expr

a=2.014 b=1.025;expr $a > $b

echo $?
0

返回值为0:表示a>b;返回值为1:表示a<b

a=2.014 b=1.025;expr $a \> $b

如果a>b,则输出为1;如果a<b,则输出为0
5.使用br

echo "6.6>5.5" |br
1

返回值为1:表示前者大于后者;返回0:表示后者大于前者

shell的数字、字符串处理相关推荐

  1. Shell中判断字符串是否为数字的6种方法

    Shell中判断字符串是否为数字的6种方法 #!/bin/bash # 方法1 a=1234;echo "$a"|[ -n "`sed -n '/^[0-9][0-9]* ...

  2. shell中(字符串截取)

    cut是以每一行为一个处理对象的,这种机制和sed是一样的.(关于sed的入门文章将在近期发布) 2 cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢? cut命令主要是接 ...

  3. vb 字符串转为数字 和判断字符串是否是数字字符串【转】

    1 Val 函数 返回包含于字符串内的数字,字符串中是一个适当类型的数值. 语法 Val(string) 必要的 string 参数可以是任何有效的字符串表达式. 说明 Val 函数,在它不能识别为数 ...

  4. 【linux】shell 编程之字符串与数组

    前言 对字符串的操作在众多的编程语言中可以说是最基础的了,字符串(String)就是一系列字符的组合.字符串是 Shell 编程中最常用的数据类型之一(除了数字和字符串,也没有其他类型了). 一.sh ...

  5. Shell编程之字符串

    本文主要对Shell中的字符串进行简单总结,另外本文所使用的Linux环境为CentOS Linux release 8.1.1911,所使用的Shell为bash 4.4.19(1)-release ...

  6. Shell脚本分割字符串

    Shell脚本分割字符串 以字符进行切割时: 从字符串左边开始计数 如果想从字符串的左边开始计数,那么截取字符串的具体格式如下: ${string: start :length} 其中,string ...

  7. shell内置字符串替换

    shell变量赋值语法: 使用规则 解释 单引号 所见即所得,即输出时会将单引号内的所有內容都原样输出,或者描述为单引号里面看到的是什么就会输出什么,这称为强引用 双引号 (默认) 输出双引号内的所有 ...

  8. 把数据库中有关枚举项值的数字字符串转换成文字字符串

    原文:把数据库中有关枚举项值的数字字符串转换成文字字符串 标题可能无法表达我的本意.比如,有这样一个枚举: public enum MyChoice { MyFirstChoice = 0, MySe ...

  9. Swift 数字字符串格式化

    字符串格式说明符 官网文档:String Format Specifiers 字面值格式化法 如果需要直接显示原样值的时候,只可以方便的在字符串中插入\(变量)显示. 字面值格式: 字符串中包裹着\( ...

  10. C将十六进制数字字符串转成数字

    1.将十六进制数字字符串转成数字 long   lTemp   =   strtol("0xa10b", NULL, 16); 这样的话,就将0xa10b这个十六制形式的字符串转为 ...

最新文章

  1. 2022-2028年中国电子陶瓷行业深度调研及投资前景预测报告
  2. 根据Forms名找出其所归属的权限组
  3. 全面对比,深度解析 Ignite 与 Spark
  4. c++中类的定义与头文件的关系
  5. Thread 小总结
  6. 黑龙江2020计算机一级考试时间,黑龙江2020年计算机等级考试报名时间汇总
  7. 元宇宙iwemeta:2021年企业领袖榜公布,曹德旺为终身成就奖
  8. SCOM 2012 R2监控Microsoft Azure服务(2)配置Azure监控
  9. 20120321java
  10. android fragment 底部菜单栏,安卓开发-底部导航栏切换Fragment进行显示
  11. 跳一跳python源码下载_微信跳一跳辅助_微信跳一跳作弊外挂下载【脚本】-华军软件园...
  12. 直播电商系统源码 直播系统源码
  13. scratch优秀案例-双人足球对战赛
  14. 算法学习之投票算法以及对应leetcode题目
  15. 使用 tf.nn.dynamic_rnn 展开时间维度
  16. origin画图_Origin作图过程中如何让图看起来更生动
  17. 搜索爬行原理_使用Diffbot爬行和搜索整个域
  18. 读书笔记 | 张五常 经济解释 (卷一) 科学说需求
  19. 计算机小键盘如何启用,教你电脑开机时小键盘自动启用方法
  20. Dubbo3 落地实践及 Mesh 解决方案

热门文章

  1. Apache Tomcat 7.0.93 发布,开源 Java Web 应用服务器
  2. 流程快速开发平台,工作流引擎中间件,工作质量考核设计
  3. 事件冒泡和阻止事件冒泡
  4. 理解 CSS 布局和块级格式上下文
  5. 编写程序记录文件位置
  6. [转]解决Eclipse中编辑xml文件的智能提示问题
  7. QTP时间格式的转换(YYYYMMDDHHMMSS)
  8. ISA---不能访问网址或是多次刷新才能访问的解决方法一则
  9. java web学习项目20套源码完整版
  10. 27.3. source code