linux awk解析csv文件

#!/bin/bash
for file in *.csv
do
awk -F ‘,‘ ‘begin {total=0;sum=0} {total++;if($1<=100.0 && $15!=0) sum++} END{ print FILENAME,"all",total, sum ,sum*1.0/total}‘ $file >> stat1.log
awk -F ‘,‘ ‘begin {total=0;sum=0} {total[$15]++;if($1<=100.0) sum[$15]++} END{for(i in sum) print FILENAME,i,total[i], sum[i] ,sum[i]*1.0/total[i]}‘ $file >> stat1.log
done

sort -n -t ‘ ‘ -k1 -k2 stat1.log -o stat1.log

时间: 2024-10-11 13:41:59

linux awk解析csv文件的相关文章

练习:读取解析CSV文件,将读取结果输出的控制台上,并封装到4个Teacher对象中.

/** *    读取解析CSV文件,将读取结果输出的控制台上,并封装到4个Teacher对象中. *    1, 土鳖, 13101015338, 北京海淀区 2, 咪咪, 13201015338, 北京朝阳区 3, 小仓, 13601015818, 北京宣武区 4, 饭岛爱, 13201025818, 北京朝阳区 /** * 读取解析CSV文件,将读取结果输出的控制台上,并封装到4个Teacher对象中. * 1, 土鳖, 13101015338, 北京海淀区 2, 咪咪, 13201015

Qt解析CSV文件

最近需要解析Excel文件,于是顺带写了解析CSV的代码 定义数据类型LX::Sheet 1 #ifndef LX_H 2 #define LX_H 3 4 #include <QString> 5 #include <QStringList> 6 7 namespace LX 8 { 9 class Sheet 10 { 11 enum FieldType{STRING, INT, DOUBLE, BOOL}; 12 public: 13 Sheet(){} 14 Sheet(S

php解析.csv文件

public function actionImport() { //post请求过来的 $fileName = $_FILES['file']['name']; $fileTmpName = $_FILES['file']['tmp_name']; //判断是否选择了上传的文件 if (empty($fileName)) { $data['message'] = "请选择要上传的文件"; return $this->render("batch_add", $

[cocos2dx utils] cocos2dx读取,解析csv文件

在我们的游戏中,经常需要将策划的数值配置成csv文件,所以解析csv文件就是一个很common的logic, 例如如下csv文件: 下面是一个基于cocos2dx 2.2.4的实现类: #ifndef __Cell__GCCsvHelper__ #define __Cell__GCCsvHelper__ #include <iostream> #include "cocos2d.h" #include <vector> USING_NS_CC; class GC

php解析csv文件

public function actionImport() { //post请求过来的 $fileName = $_FILES['file']['name']; $fileTmpName = $_FILES['file']['tmp_name']; //判断是否选择了上传的文件 if (empty($fileName)) { $data['message'] = "请选择要上传的文件"; return $this->render("batch_add", $

如何用Java解析CSV文件

首先看一下csv文件的规则: csv(Comma Separate Values)文件即逗号分隔符文件,它是一种文本文件,可以直接以文本打开,以逗号分隔.windows默认用excel打开.它的格式包括以下几点(它的格式最好就看excel是如何解析的.): ①每条记录占一行: ②以逗号为分隔符: ③逗号前后的空格会被忽略: ④字段中包含有逗号,该字段必须用双引号括起来: ⑤字段中包含有换行符,该字段必须用双引号括起来: ⑥字段前后包含有空格,该字段必须用双引号括起来: ⑦字段中的双引号用两个双引

解析 csv文件 java &gt;&gt;&gt;&gt;&gt;最爱那水货

1 /** 2 * csv文件解析 <br> 3 * wx 微信明细数据 第1行是标题 ,最后2行 是总结 提取数据需要过滤<br> 4 * zfb 支付宝明细数据 前4行 和最后4行是总结 第5行是 标题 提取数据时需要过滤 5 * @param localPath 本地文件绝对路径 6 * @param flag 支付机构 wx zfb pos 7 * @return 8 */ 9 public List<String[]> csvAnalysis(String l

awk 解析maps文件中的地址

maps文件一般是这个样子: [email protected]:~ $ sudo cat /proc/1/maps 54b88000-54c8d000 r-xp 00000000 b3:07 655537 /lib/systemd/systemd 54c9c000-54cac000 r--p 00104000 b3:07 655537 /lib/systemd/systemd 54cac000-54cad000 rw-p 00114000 b3:07 655537 /lib/systemd/s

linux/windows 双平台csv文件生成方法

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本). 1.linux/windows 可移植 #include <stdio.h> int main() { FILE *fp; char const *fileTitle = "num,test content,result\n"; char const *log_body = ",test_"