LINUX.ORG.RU

История изменений

Исправление legolegs, (текущая версия) :

тестовый vsftpd.log:

Mar 13 08:19:21 FTPv2 vsftpd[XXXX]: [Vasya] OK UPLOAD: Client "192.168.0.77", "/load/1.txt", 55170 bytes
Mar 13 08:19:25 FTPv2 vsftpd[XXXX]: [Vasya] OK UPLOAD: Client "192.168.0.77", "/load/2.txt", 55170 bytes
Mar 13 08:20:10 FTPv2 vsftpd[YYYY]: [Petya] OK UPLOAD: Client "192.168.0.78", "/load/3.txt", 55170 bytes
Mar 13 08:20:20 FTPv2 vsftpd[XXXX]: [Vasia] OK UPLOAD: Client "192.168.0.77", "/load/4.txt", 55170 bytes
Mar 13 08:20:30 FTPv2 vsftpd[YYYY]: [Petya] OK UPLOAD: Client "192.168.0.78", "/load/5.txt", 55170 bytes
Скрипт на awk:
#!/bin/awk -f 

{
        if (match($0, "FTPv2 vsftpd\\[([^]]+)\\]: \\[([^]]+)\\] OK UPLOAD", r))
                print $0 >> r[1] "_report.txt"
}
$ ./ospekt.awk < vsftpd.log
$ cat XXXX_report.txt 
Mar 13 08:19:21 FTPv2 vsftpd[XXXX]: [Vasya] OK UPLOAD: Client "192.168.0.77", "/load/1.txt", 55170 bytes
Mar 13 08:19:25 FTPv2 vsftpd[XXXX]: [Vasya] OK UPLOAD: Client "192.168.0.77", "/load/2.txt", 55170 bytes
Mar 13 08:20:20 FTPv2 vsftpd[XXXX]: [Vasia] OK UPLOAD: Client "192.168.0.77", "/load/4.txt", 55170 bytes
$ cat YYYY_report.txt 
Mar 13 08:20:10 FTPv2 vsftpd[YYYY]: [Petya] OK UPLOAD: Client "192.168.0.78", "/load/3.txt", 55170 bytes
Mar 13 08:20:30 FTPv2 vsftpd[YYYY]: [Petya] OK UPLOAD: Client "192.168.0.78", "/load/5.txt", 55170 bytes

Исходная версия legolegs, :

Я бы пошёл таким путём

тестовый vsftpd.log:

Mar 13 08:19:21 FTPv2 vsftpd[XXXX]: [Vasya] OK UPLOAD: Client "192.168.0.77", "/load/1.txt", 55170 bytes
Mar 13 08:19:25 FTPv2 vsftpd[XXXX]: [Vasya] OK UPLOAD: Client "192.168.0.77", "/load/2.txt", 55170 bytes
Mar 13 08:20:10 FTPv2 vsftpd[YYYY]: [Petya] OK UPLOAD: Client "192.168.0.78", "/load/3.txt", 55170 bytes
Mar 13 08:20:20 FTPv2 vsftpd[XXXX]: [Vasia] OK UPLOAD: Client "192.168.0.77", "/load/4.txt", 55170 bytes
Mar 13 08:20:30 FTPv2 vsftpd[YYYY]: [Petya] OK UPLOAD: Client "192.168.0.78", "/load/5.txt", 55170 bytes
Скрипт на awk:
awk '{ if (match($0, "FTPv2 vsftpd\\[([^]]+)\\]: \\[([^]]+)\\] OK UPLOAD", r)); print $0 >> r[1] "_report.txt" }' < vsftpd.log
$ cat XXXX_report.txt 
Mar 13 08:19:21 FTPv2 vsftpd[XXXX]: [Vasya] OK UPLOAD: Client "192.168.0.77", "/load/1.txt", 55170 bytes
Mar 13 08:19:25 FTPv2 vsftpd[XXXX]: [Vasya] OK UPLOAD: Client "192.168.0.77", "/load/2.txt", 55170 bytes
Mar 13 08:20:20 FTPv2 vsftpd[XXXX]: [Vasia] OK UPLOAD: Client "192.168.0.77", "/load/4.txt", 55170 bytes
$ cat YYYY_report.txt 
Mar 13 08:20:10 FTPv2 vsftpd[YYYY]: [Petya] OK UPLOAD: Client "192.168.0.78", "/load/3.txt", 55170 bytes
Mar 13 08:20:30 FTPv2 vsftpd[YYYY]: [Petya] OK UPLOAD: Client "192.168.0.78", "/load/5.txt", 55170 bytes