Как сгруппировать результаты grep?

Я был бы очень удивлен, существует ли программное обеспечение, которое делает это автоматически, но если Вы делаете снимок экрана каждой страницы и сохраняете это как графическое изображение, затем большая часть программного обеспечения создания DVD позволит Вам брать каждое изображение в структуру меню.

Если это - длинный PDF, то его попытка быть довольно мало работы.

1
21.11.2018, 00:02
2 ответа

Awk сделает это:

awk '
    BEGIN {
        priority["ok"] = 10
        priority["critical"] = 20
    }
    /^$/ {next}
    /^checking/ {var = $NF}
    {
        if (priority[status[var]] < priority[$NF])
            status[var] = $NF
        if ($NF == "critical")
            crit[var ":" $4] = 1
    }
    END {
        for (var in status)
            print var, status[var]
        for (c in crit) {
            split(c, ary, /:/)
            printf("critical at %s for %s\n", ary[2], ary[1])
        }
    }
'

выводы

$var ok
$var2 ok
$var3 critical
critical at results3 for $var3
2
27.01.2020, 23:29

Я использовал бы awk сценарий:

/^checking results for / {
    if (curvar) { print curvar, curstatus; }
    curvar = $NF
    curstatus = "ok"
}
/^here are some results.* for .* status / {
    if ($NF != "ok") { curstatus = $NF; 
}
END {
    if (curvar) { print curvar, curstatus; }
}

Вы могли использовать массив для создания "плохих результатов" таблица.

1
27.01.2020, 23:29
  • 1
    , пропускающий близкую фигурную скобку на одном из if операторы –  glenn jackman 04.10.2011, 22:44

Теги

Похожие вопросы