shell的数字、字符串处理
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;
833.双括号运算符:
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.62.强大的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,否则输出14.用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.使用brecho "6.6>5.5" |br
1返回值为1:表示前者大于后者;返回0:表示后者大于前者
shell的数字、字符串处理相关推荐
- Shell中判断字符串是否为数字的6种方法
Shell中判断字符串是否为数字的6种方法 #!/bin/bash # 方法1 a=1234;echo "$a"|[ -n "`sed -n '/^[0-9][0-9]* ...
- shell中(字符串截取)
cut是以每一行为一个处理对象的,这种机制和sed是一样的.(关于sed的入门文章将在近期发布) 2 cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢? cut命令主要是接 ...
- vb 字符串转为数字 和判断字符串是否是数字字符串【转】
1 Val 函数 返回包含于字符串内的数字,字符串中是一个适当类型的数值. 语法 Val(string) 必要的 string 参数可以是任何有效的字符串表达式. 说明 Val 函数,在它不能识别为数 ...
- 【linux】shell 编程之字符串与数组
前言 对字符串的操作在众多的编程语言中可以说是最基础的了,字符串(String)就是一系列字符的组合.字符串是 Shell 编程中最常用的数据类型之一(除了数字和字符串,也没有其他类型了). 一.sh ...
- Shell编程之字符串
本文主要对Shell中的字符串进行简单总结,另外本文所使用的Linux环境为CentOS Linux release 8.1.1911,所使用的Shell为bash 4.4.19(1)-release ...
- Shell脚本分割字符串
Shell脚本分割字符串 以字符进行切割时: 从字符串左边开始计数 如果想从字符串的左边开始计数,那么截取字符串的具体格式如下: ${string: start :length} 其中,string ...
- shell内置字符串替换
shell变量赋值语法: 使用规则 解释 单引号 所见即所得,即输出时会将单引号内的所有內容都原样输出,或者描述为单引号里面看到的是什么就会输出什么,这称为强引用 双引号 (默认) 输出双引号内的所有 ...
- 把数据库中有关枚举项值的数字字符串转换成文字字符串
原文:把数据库中有关枚举项值的数字字符串转换成文字字符串 标题可能无法表达我的本意.比如,有这样一个枚举: public enum MyChoice { MyFirstChoice = 0, MySe ...
- Swift 数字字符串格式化
字符串格式说明符 官网文档:String Format Specifiers 字面值格式化法 如果需要直接显示原样值的时候,只可以方便的在字符串中插入\(变量)显示. 字面值格式: 字符串中包裹着\( ...
- C将十六进制数字字符串转成数字
1.将十六进制数字字符串转成数字 long lTemp = strtol("0xa10b", NULL, 16); 这样的话,就将0xa10b这个十六制形式的字符串转为 ...
最新文章
- 2022-2028年中国电子陶瓷行业深度调研及投资前景预测报告
- 根据Forms名找出其所归属的权限组
- 全面对比,深度解析 Ignite 与 Spark
- c++中类的定义与头文件的关系
- Thread 小总结
- 黑龙江2020计算机一级考试时间,黑龙江2020年计算机等级考试报名时间汇总
- 元宇宙iwemeta:2021年企业领袖榜公布,曹德旺为终身成就奖
- SCOM 2012 R2监控Microsoft Azure服务(2)配置Azure监控
- 20120321java
- android fragment 底部菜单栏,安卓开发-底部导航栏切换Fragment进行显示
- 跳一跳python源码下载_微信跳一跳辅助_微信跳一跳作弊外挂下载【脚本】-华军软件园...
- 直播电商系统源码 直播系统源码
- scratch优秀案例-双人足球对战赛
- 算法学习之投票算法以及对应leetcode题目
- 使用 tf.nn.dynamic_rnn 展开时间维度
- origin画图_Origin作图过程中如何让图看起来更生动
- 搜索爬行原理_使用Diffbot爬行和搜索整个域
- 读书笔记 | 张五常 经济解释 (卷一) 科学说需求
- 计算机小键盘如何启用,教你电脑开机时小键盘自动启用方法
- Dubbo3 落地实践及 Mesh 解决方案