Задача: разобрать журнал прав доступа из линукса и передать его в MSExcel

Автор Николай Чусовский, 19.08.2017, 09:41

« назад - далее »

Николай Чусовский

Доброго времени суток, уважаемые форумчане.

Есть файл (выгрузка ACLs из файлового сервера убунту), имеющий такой вид:

# file: DOC
# owner: nwadmin
# group: root
user::rwx
user:nwadmin:rwx
group::rwx
group:root:rwx
group:domain\040admins:rwx
group:corporative\040users:r-x
group:administracia:r-x
mask::rwx
other::---
default:user::rwx
default:user:nwadmin:rwx
default:group::---
default:group:root:---
default:group:domain\040admins:rwx
default:group:administracia:r-x
default:mask::rwx
default:other::---

# file: DOC/ARU
# owner: nwadmin
# group: domain\040users
user::rwx
user:nwadmin:rwx
group::---
group:domain\040users:---
group:domain\040admins:rwx
group:aru:rwx
group:administracia:r-x
mask::rwx
other::---
default:user::rwx
default:user:nwadmin:rwx
default:group::---
default:group:domain\040users:---
default:group:domain\040admins:rwx
default:group:aru:rwx
default:group:administracia:r-x
default:mask::rwx
default:other::---

# file: DOC/ARU/документы авторемонтного участка размещать здесь!.txt
# owner: aru1
# group: domain\040users
user::rwx
user:nwadmin:rwx
group::---
group:domain\040users:---
group:domain\040admins:rwx
group:aru:rwx
group:administracia:r-x
mask::rwx
other::---


Его нужно преобразовать в таблицу вида:
     A                  B                                        C
1 Файл ----> Пользователь/группа ----> Права доступа

Есть ли подобные скрипты для анализа логов?
Самому сидеть писать думаю будет долго, очень. Теоретически если у меня получится, поделюсь:)
Вариант руками сделать.... ну, при том что lines:699364, это тоже будет очень долго;)

Заранее спасибо.

IKor

Правильно ли я понимаю, что требуется разнести по разным столбцам данные, разделенные двоеточием?

Не хотите использовать стандартный инструмент MS Excel: текст по столбцам?
Если хотите, можете использовать макрорекодер, а потом исправить результат руками...

Alexander Kirdyashev

Решение тут несложное, просто нужно сесть и написать. По факту нужно сделать цикл, в котором мы идем по каждой строке и отлавливаем ключевые слова (# file, #group и т.д.).

Если нужна помощь в написании, прошу в ЛС