Для компании, в которой я работаю, я хочу отфильтровать определенные сообщения в (фактически: 2) лог-файл.
Эти сообщения являются просто информативными и не особенно полезны при устранении неполадок при ошибках / сбоях.
После долгих размышлений (я тоже выложил похожий вопрос, но для Windows и это PS / BS (определенный вид "коровьего навоза";))
Я думаю, что AWK подходит для работыи у меня есть сценарий оболочки.Тем не менее, он не работает (ожидается).Может ли кто-нибудь помочь мне «заполнить пробелы»?
#!/bin/bash
## URL that could have been the answer (but not quite) https://stackoverflow.com/questions/10842118/explain-this-duplicate-line-removing-order-retaining-one-line-awk-command
###To sort by what you WANT to see:
##e.g awk '/term to search/' dpkg.log
#if
# $var_show awk '/installed/' syslog/dpkg.log
# then
# printf('$var_show')
#fi
##Show what DONT want to see.
if
#$var_notshow awk /'what not to display'/ syslog/dpkg.log
$var_notshow awk /'Status Installed'/ dpkg.log
then
wc -1 > $var_notshow
#echo number of merged messages (of the same content): xxx merged messages #< is the amount
echo Messages of Status installed: $var_notshow were merged
fi
###!!Show the amount of rules (when the same rule/logged event) that were merged
## E.g. (multiple lines which state: "Status Installed: xxxxxxxxxxxxx" ) and display it as: "Messages of Status Installed: xxxx were merged. Totalling: # of messages (of Status Installed)" were merged.
### Finally, save it in a different file.
#Like: ?? how to do that?
Итак, в основном у меня есть два способа сделать это: отфильтровать то, что вы хотите, или то, что вы не хотите.Возможно, будет лучше / лучше начать отфильтровывать сообщения, которые мне не нужны.
И да, в качестве доказательства концепции я использовал стандартный файл журнала в моей тестовой машине.Я могу преобразовать ее в специфическую информацию о компании ...
Выдержка из файла журнала:
11:56:31 status half-configured grep:amd64 3.1-2
11:56:32 status installed grep:amd64 3.1-2
11:56:32 configure debconf:all 1.5.66 <none>
11:56:32 status unpacked debconf:all 1.5.66
11:56:32 status unpacked debconf:all 1.5.66
11:56:32 status unpacked debconf:all 1.5.66
11:56:32 status half-configured debconf:all 1.5.66
11:56:32 status installed debconf:all 1.5.66
11:56:32 configure gzip:amd64 1.6-5ubuntu1 <none>
11:56:33 status half-configured util-linux:amd64 2.31.1-0.
11:56:34 status installed util-linux:amd64 2.31.1-0.4ubuntu3
11:56:34 configure libpam-modules-bin:amd64 1.1.8-3.6ubuntu2 <none>
11:56:34 status unpacked libpam-modules-bin:amd64 1.1.8-3.6ubuntu2
11:56:34 status half-configured libpam-modules-bin:amd64 1.1.8-3.6ubuntu2
11:56:34 status installed libpam-modules-bin:amd64 1.1.8-3.6ubuntu2
11:56:34 configure mount:amd64 2.31.1-0.4ubuntu3 <none>
11:56:34 status unpacked mount:amd64 2.31.1-0.4ubuntu3
11:56:34 status half-configured mount:amd64 2.31.1-0.4ubuntu3
11:56:34 status installed mount:amd64 2.31.1-0.4ubuntu3
11:56:34 configure procps:amd64 2:3.3.12-3ubuntu1 <none>
11:56:34 status unpacked procps:amd64 2:3.3.12-3ubuntu1
11:56:34 status unpacked procps:amd64 2:3.3.12-3ubuntu1
11:56:34 status unpacked procps:amd64 2:3.3.12-3ubuntu1
Заранее спасибо :)
Томас