Liunx中使用expr命令并结合sed计算文件中的数字
数据样例:
已选择153682行。
已选择539794行。
已选择627588行。
echo 计算所有 已选择 的数据 总共有多少条记录
sed -n '{/已选择/s/[^0-9]*//gp}' exp.txt | sed -n 's/[0-9]*/ &/;:a;$!N;/[0-9]*/s/\n/ + /;ta;P;D' | xargs expr
思路:
1、先选择包含“已选择”的记录行(也就是ORACLE的SPOOL导出数据时带出来的),然后整行中替换,将非数字类型全部替换为空;
sed -n '{/已选择/s/[^0-9]*//gp}' exp.txt
得到的结果将是:
153682
539794
627588
2、将第一行数据的头部分加个空格s/[0-9]*/ &/;
得到的结果将是:
153682
539794
627588
3、将组装数学表达式,循环将多行变为一行,将换行符替换成“空格+空格”
:a;$!N;/[0-9]*/s/\n/ + /;ta;P;D
得到的结果将是:
153682 + 539794 + 627588
命令行说明:首先设置一个标签a,除了最后一行($!N;),其他行都执行把下一行的数据添加到模式空间(N),当匹配到以数字的行([0-9]*)就把换行符换成“空格+空格”,如果替换成功(t),就重复执行(再从a开始)否则就将模式空间的第一行打印出来(P;),然后删除模式空间的第一行(D),开始下一个循环(:a)。
4、将表达式作为参数传给expr 命令进行计算
| xargs expr
得到结果:1321064
相关推荐
liunx下使用oracle命令,包括开启和关闭oracle数据库服务。
常用linux操作命令,number表格。
liunx常用命令.docliunx常用命令.doc
Liunx60个常用命令,初学者必学的命令集。
liunx开发环境,liunx编程指南,liunx常用命令
适合初学linux的爱好者,主要讲解了linux系统文件系统和一些linux下的命令
liunx命令
Liunx文件系统基本目录介绍大全 Liunx文件系统基本目录介绍大全 根文件系统 通常情况下,根文件系统所占空间一般应该比较小,因为其中的绝大部分文件都不需要 经常改动,而且包括严格的文件和一个小的不经常改变的...
常用的Unix、Liunx的shell命令集合。适用于各个阶层。
linux命令大集合 liunx下java环境的搭配 Linux必学的重要命令教程 Linux 系统命令及其使用详解 LinuxTutorial.chm
liunx命令,一些liunx普通命令的用法和格式
liunx常用命令
liunx命令大全,收录了很多命令从磁盘管理到网络配置
Linux命令教程包含了Linux常用命令教程,包含了网络常用 文件常用 系统常用 目录操作常用 等多章命令,每一个命令都分为语法 作用 参数 案例等四个部分,适合查阅和学习,适合初学者学习,面试者复习,工作人员查阅...
这是很基本的一个liunx基础学习命令。
liunx命令.jpg
Liunx防火墙常用命令
liunx常用命令,如 du –sh * 查看每个文件的占用大小
liunx命令大全 帮助文档 liunx命令大全 帮助文档
操作系统 liunx名称全称操作系统