grep 条件并添加 grep 值的值

grep 条件并添加 grep 值的值

我有一个场景,csv 文件具有以下值:

abcd FAILURE 7

abcd SUCCESS 12

efgh SUCCESS 3

efgh FAILURE 5

mnop SUCCESS 6

mnop SUCCESS 4

abcd FAILURE 5

efgh SUCCESS 2

mnop SUCCESS 1

abcd FAILURE 7

mnop SUCCESS 3

abcd FAILURE 5

初始 grep 使用 abcd/efgh/mnop 并带有失败或成功条件,然后我需要匹配条件的值

我需要这样的输出,请帮助我

例如 :

abcd FAILURE 7

abcd FAILURE 5

abcd FAILURE 7

abcd FAILURE 5

--------------------

abcd FAILURE **24**

abcd SUCCESS 12

------------------

abcd SUCCESS **12**

但我不想在条件下给出任何静态字符串。

提前致谢。

答案1

使用grep -c选项来计算搜索字符串的出现次数。echo 输出文本并使用子 shell 进行 grep 计数。

echo "abcd FAILURE $(grep -c "abcd FAILURE" filename)" 
echo "abcd SUCCESS $(grep -c "abcd SUCCESS" filename)" 

答案2

也许你想要这样的东西:

awk '
BEGIN {
    fail = suc = 0
}
$2 == "FAILURE" {
    fail += $3
    next
}
$2 == "SUCCESS" {
    suc += $3
}
END {
    printf "%s:%s\n%s:%s\n", "SUCCESS",suc,"FAILURE",fail
}' inputFile

文件输出:

SUCCESS:31
FAILURE:29

相关内容