美文网首页啦啦啦啦啦!收藏
shell脚本五种方法完成文本统计

shell脚本五种方法完成文本统计

作者: 刘小白DOER | 来源:发表于2021-11-23 21:05 被阅读0次

    今天遇到一个需求,就是用统计文本文件中某一列的的数值和。想起以前看到一个脚本里面使用for和cat结合读取文本文件中,for hostname in  `cat /home/harry/hostid`,于是结合网络资料,尝试修改后来计算特定行的综合。

    文本文件如下,首行有注释说明信息。

1、使用三剑客之一的awk来统计,第一行是没有注释行的和计算,第二行是抛弃注释行的和计算。

2、和以前的脚本一样,使用for line in $(cat test.txt | grep -v ^#) ,管道符来选择抛弃#开头的那一行。间隔符号是空格、tab或者换行,那么读取一行的话就需要单独设置IFS为换行符,然后再循环中使用cut找到第二行的数值,相加。

3、上面的脚本会有一个很大的问题,如果文件很大,那么一次性读取整个文件会消耗大量的内存资源。当然,如果是大文件,那么python(numpy或者panda)可能会更加高效快捷。如果一定要使用shell读取的话,文件输入重定向会十分有用。

    [[ $line =~ ^#.* ]] 正则表达式判断是否以#开头,如果不是的话则执行后面的加法操作。

4、文件输入重定向还有下面这样的写法,和上面的脚本一样,知识格式不一样。

5、根据上面的再次修改,直接在read中指定某一列,“while read col1 col2 col3 col4 col5” ,然后根据那一列来直接相加即可 ,但是再定义时列数不能小于文件中的列数。正则表达式判断是否以#开头和上面的一致。

相关文章

  • shell脚本五种方法完成文本统计

    今天遇到一个需求,就是用统计文本文件中某一列的的数值和。想起以前看到一个脚本里面使用for和cat结合读取文本...

  • Shell十三问 学习笔记

    文本处理 Shell脚本编程 Shell 十三问 学习笔记 shell and Carriage 关系 Shell...

  • 3.8 Shell脚本(Shell Script)

    shell脚本指包含shell命令的文本shell首先查找当前目录,然后找$PATH参数0被设置成脚本的名字在脚本...

  • shell脚本语言

    Shell脚本语言 1.开始 2.运行 Shell 脚本的两种方法: 3.Shell变量 3.1定义变量 3.2使...

  • 2018.10.12

    假设有这样的文本 另外有这样的文本 统计一下a.txt 中有多少存在于all.tmp.txt中shell脚本 有三...

  • Linux Shell: 各种tips

    通用Linux中执行shell脚本的4种方法总结hbase shell基础和常用命令详解 2.字符串Shell脚本...

  • shell脚本-基本语法

    前言 什么是shell脚本呢?shell脚本就是利用shell的功能所写的一个纯文本的程序,将一些shell的语法...

  • Shell脚本

    一篇文章学懂Shell脚本 Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执...

  • 网络分析shell脚本分享(实时流量、连接统计)

    一个强大的网络分析shell脚本分享(实时流量、连接统计)linux shell脚本之家http://www.jb...

  • shell 文本命令详解

    shell文本命令详解 shell脚本之间相互引用 shell中可以通过source 或者 . 的方式可以引用另一...

网友评论

    本文标题:shell脚本五种方法完成文本统计

    本文链接:https://www.haomeiwen.com/subject/cxiwtrtx.html