У меня есть сценарий, что 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**

но я не хочу давать какую-либо статическую строку в условии.

заранее спасибо.

2 ответа2

0

Использование опции grep -c для подсчета вхождений строки поиска. echo выводит текст и использует под-оболочку для подсчета grep.

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

Может быть, вы хотите что-то вроде этого:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .