报告 shell 脚本来对 csv 文件进行计数和求和

报告 shell 脚本来对 csv 文件进行计数和求和

我需要从 csv 文件创建报告文件。

我有 160 台名为 的设备MR001MR160每台设备都有一个文件夹,所有文件夹都有一个以 4 开头的唯一 ID,并且每天有一个名为 的 csv 文件MRNNN_Log_AAAAMMDD-NN.csv

csv文件内容如下:

MR092/16.11.2017/13:50:50-0300/WLLocalSearch/Error
MR092/16.11.2017/13:51:10-0300/WLLocalSearch/Hit
MR092/16.11.2017/13:51:25-0300/WLLocalSearch/NoHit
MR092/16.11.2017/13:51:35-0300/WLLocalSearch/Error
MR092/16.11.2017/13:51:41-0300/WLLocalSearch/Error
MR092/16.11.2017/13:52:02-0300/RemoteSearch/Captured
MR092/16.11.2017/13:52:53-0300/RemoteSearch/Hit

我正在尝试使用这样的命令:

#!/bin/bash

date=$1

find /path/4*/*_Log_$1*.csv -printf 'echo "$(grep -o "/WLLocalSearch/NoHit" %p | wc -l) %p";' | sh
find /path/4*/*_Log_$1*.csv -printf 'echo "$(grep -o "/WLLocalSearch/Hit" %p | wc -l) %p";' | sh
find /path/4*/*_Log_$1*.csv -printf 'echo "$(grep -o "/WLLocalSearch/Error" %p | wc -l) %p";' | sh

我像这样执行了脚本:

./report.sh AAAANN

输出如下

25 /path/path/MR001_Log_20190415-00.csv
4 /path/path/MR002_Log_20190415-00.csv
10 /path/path/MR007_Log_20190415-00.csv
7 /path/path/MR090_Log_20190415-00.csv
etc...

问题是我不知道如何计算每个类型和设备 ID 的总数,就像这样

MR001 Hit 10
MR002 Hit 5

ETC..

相关内容