Я хочу сохранить этот вывод, см. Ниже, в дескрипторе файла или в файле, отличном от файла на сервере. Можно ли заморозить его, затем разделить на нужные поля или? Пожалуйста, примите совет! Необработанный вывод - две строки на запись, вывод сценария - одна строка на запись, и в этом заключается проблема. Я не могу разбить некоторые поля, когда в записи есть две строки. Например, мне не нужна строка, содержащая 'root S_PASWD_READ', поэтому я пытаюсь разбить поля 8 и 10, но с двумя строками это, очевидно, не работает. Спасибо!
use strict;
use warnings;
my $stream = qq(/data/auditpr/stream.out);
my @tmp;
open my $FH, "+<", $stream or die $!;
while ((my $ln = <$FH>)) {
$ln =~ s/\-+//g;
$ln =~ s/\n/ / unless $a++ % 2; ## MAKE IT PRETTY 1 LINE.
#push @tmp, split(/\s+/, $ln);
}
__ Script_OUTPUT__1LINE
Ср 15 января 15:56:21 2020 5308742 2949626 root останавливается c S_PASWD_READ ОК обнаружено событие чтения объекта аудита / etc / security / passwd
__ RAW_OUTPUT__2LINES
Ср 15 января, 15:56:21 2020 5308744 2949626 root Stopr c S_PASWD_READ OK
audit object read event detected /etc/security/passwd