В журнале вроде этого: 21-03-2020 07:09 [LOG] ralex / home / ralei / secret ACCESS_WRITE_OK Как я могу узнать, является ли пользователь одним и тем же в пути и в журнале?

Итак, у меня куча журналов вроде этого:

20-03-2020 10:01 [LOG] davis /home/davis/fis1 ACCESS_WRITE_OK
20-03-2020 11:11 [LOG] davis /home/davis/Pictures/cat.png ACCESS_READ_OK
20-03-2020 12:22 [LOG] root /home/davis/hello ACCESS_READ_OK
20-03-2020 21:10 [ERROR] davis /root/secret.txt ACCESS_READ_DENY
20-03-2020 23:11 [LOG] davis /home/davis/secret ACCESS_READ_OK
20-03-2020 23:22 [ERROR] ralex /home/davis/secret ACCESS_WRITE_DENY
21-03-2020 06:00 [LOG] root /bin/bash ACCESS_READ_OK
21-03-2020 07:09 [LOG] ralex /home/ralex/secret ACCESS_WRITE_OK
21-03-2020 08:22 [ERROR] ralex /dev/sda1 ACCESS_READ_DENY
21-03-2020 14:12 [LOG] root /home/davis/.hidden/secret_root ACCESS_WRITE_OK
22-03-2020 07:09 [LOG] root /dev/sda ACCESS_READ_OK

И мне нужно извлечь только те журналы, в которых имя пользователя одинаково как в пути, так и в столбце имени пользователя. После этого мне нужно заменить абсолютный путь на ~ И мой файл с журналами должен выглядеть так:

20-03-2020 10:01 [LOG] davis ~/fis1 ACCESS_WRITE_OK
20-03-2020 11:11 [LOG] davis ~/Pictures/cat.png ACCESS_READ_OK
20-03-2020 12:22 [LOG] root /home/davis/hello ACCESS_READ_OK
20-03-2020 21:10 [ERROR] davis /root/secret.txt ACCESS_READ_DENY
20-03-2020 23:11 [LOG] davis ~/secret ACCESS_READ_OK
20-03-2020 23:22 [ERROR] ralex /home/davis/secret ACCESS_WRITE_DENY
21-03-2020 06:00 [LOG] root /bin/bash ACCESS_READ_OK
21-03-2020 07:09 [LOG] ralex ~/secret ACCESS_WRITE_OK
21-03-2020 08:22 [ERROR] ralex /dev/sda1 ACCESS_READ_DENY
21-03-2020 14:12 [LOG] root /home/davis/.hidden/secret_root ACCESS_WRITE_OK
22-03-2020 07:09 [LOG] root /dev/sda ACCESS_READ_OK

Вы можете мне помочь с этой проблемой? Спасибо! :)

-1
задан 27 March 2020 в 10:19

1 ответ


sed "s/\<\([a-z]\{1,\}\)\>.*\<\1\>/\1 ~/g" FILENAME

Это - код для того, в чем я нуждался. Это ищет строки, где имя пользователя найдено дважды, и это заменяет соответствующие слова первой группой (имя пользователя) и ~ для пути/home/username/. Не уверенный, если это - лучший способ сделать это, но идентификатор, делает задание :))

0
ответ дан 7 April 2020 в 23:27

Другие вопросы по тегам:

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