shell 脚本里面从一个文本里面读出一个数字,如何转换成整数?我需要用这个数字进行加减乘除
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 脚本里面从一个文本里面读出一个数字,如何转换成整数?我需要用这个数字进行加减乘除相关的知识,希望对你有一定的参考价值。
可以参考下面几种方法:
法一:
echo $var%.* #这个是直接去除小数点及后面所有内容,只用于bash
法二:
echo $var | awk -F. 'print $1' #以小数点为分隔符取第一个字段
法三:
echo $var | awk 'print int($0)' #awk中可直接使用C函数取整
扩展资料:
shell脚本
shell script是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正规表示法,管道命令以及数据流重导向等功能,以达到我们所想要的处理目的。
更明白地来说,shell script就像早期dos年代的.bat,最简单的功能就是将许多指令汇整写一起,让使用者很容易地就能够一个操作执行多个命令。
参考资料来源:百度百科-Shell脚本
参考技术A 方法有很多:var=4.57
法一:
echo $var%.* #这个是直接去除小数点及后面所有内容,只用于bash
法二:
echo $var | awk -F. 'print $1' #以小数点为分隔符取第一个字段
法三:
echo $var | awk 'print int($0)' #awk中可直接使用C函数取整
法四:
echo "scale=0;$var/1"|bc -l #用bc计算
法五:
printf "%.0f\n" $var #这个与上面不同,是四舍五入的本回答被提问者和网友采纳 参考技术B 你可以找下函数 有公式取整数,例如:
Basic函数原型 INT(number)
类别 数学函数
返回值 Integer 类型
作用 求不大于number
的最大整数,Int(3.8)=3,Int(-3.8)=-4。
注意:int不能取整!取整要用fix!
BASIC INT(number)取比number小的最大的整数。INT(1.1)=1
INT(-1.1)=-2。
shell脚本练习题
1、一个文本类型文件,里面每行存放一个登录者的IP(某些行是重复的),写一个shell脚本输出登录的次数最多的用户;lp_input.txt的内容假设如下
219.217.49.14
175.43.4.87
87.48.98..1
59.73.38.25
219.217.49.14
59.73.38.142
59.73.38.25
219.217.49.14
#!/bin/bash
#test.sh
Sort ip_input | uniq –c | sort | tail -1 | awk ‘{print $2}’
Sort ip_input | uniq –c | sort -r | head -1 | awk ‘{print $2}’
Uniq –c选项他的作用是将重复的去掉,并且在每行前面添加此行重复次数
Sort 命令的默认排序方式是升序,使用 –r选项逆转排序结果,则出现的次数最多的ip则排在第一行
2、文件的拷贝,在根下创建4个文件m1.txt、m2.txt、m3.txt、m4.txt,用Shell编程,实现自动创建,m1、m2,m3,m4.txt,并将m1.txt, m2.txt、m3.txt、m4.txt,将个文件分别拷贝到各自相应的目录下
思路:用touch创建文件,mkdir命令创建目录,使用while循环依次拷贝,目录和文件表示
第一步#!/bin/bash
第二步cd/(cd到根下)
第三步 touch m{1..4}.txt(创建4个文件)
第四步i=1(设置变量)
第五步while[ #i –le 4 ](利用while设置循环次数)
第六步do(做什么)
第七步mkdir m$i
第八步 cp m$i.txt m$i
第九步i=$((i+1))意思每次复制都加一
第十步done 结束语
4、
判断拷贝
用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到dev目录下
思路:
使用read命令从键盘上获取的文件名
如何判断是否是字符设备
第一步#!/bin/bash
第二步echo –e “please input filename ”(echo –e激活转义符 换行且将光标移至下一行的行首)
第三步read FILENAME(使用read命令从键盘上获取文件名,read直接给FILENAME赋值 read –t 3指定读三秒)
第四步if [ -c $FILENAME ]
第五步then
第六步 cp $FLIENAME /dev
第七步else
第八步echo “It’s not character device fliename”
第九步fi结束语
4、创建目录
设计一个Shell程序,在/userdata目录下建立50个目录, 即user1~user50,并设置每一个目录权限,其他用户权限为,读;文件的所有者的权限是:读、写、执行;文件的所有者所在的组的权限为:读、执行
思路 while循环生成文件目录
判断/userdata是否存在,如果不存在直接创建子目录,不存在先创建/userdata再创建子目录
权限赋值rwxr-xr—数字方式754
第一步i=1(先取变量值)
第二步while [ $i –le 50 ]
第三步 do
第四步if [ -d /userdata] 判断有没有这个目录
第五步 then
第六步mkdir –p /userdata/user$I
第七步 else
第八步 mkdir /userdata mkdir –p /userdata/user$i
第九步fi
第十步chmod 754 /userdata/user$i
第十一步 i=$(($i+1))
第十二步 done
以上是关于shell 脚本里面从一个文本里面读出一个数字,如何转换成整数?我需要用这个数字进行加减乘除的主要内容,如果未能解决你的问题,请参考以下文章
java,现在有word模板,需要从数据库里面读出数据,填充在word模板里面导出。求一个比较好的解决方案!