Я хочу найти все манифесты во всех моих модулях, которые используют объект File и не имеют атрибута "owner".
Например, у меня есть этот объект File:
file { '/etc/mydir':
source => 'puppet:///modules/mymodule/mydir_settings',
ensure => 'directory',
recurse => true
}
И отсутствует атрибут «владелец».Я хочу иметь возможность выполнить поиск этого манифеста и найти этот файловый объект с отсутствующим атрибутом "владелец".
Лучший вариант поиска с помощью grep (при поиске в Интернете) заключается в следующем:
grep -Pzo -e "file\s+{[^}]*}" ./manifests/init.pp
Но у него есть следующие недостатки:
1) Он не «подсвечивает» эти объекты с отсутствующим атрибутом «владелец».2) Не удается отобразить файловые объекты, которые имеют переменную с фигурными скобками, например:
file { "/etc/myotherdir/${var1}":
3) Не удается игнорировать закомментированные файловые объекты (что не является плохой вещью,но он просто не обрабатывает, знает, как с ними обращаться)
Я хотел бы иметь возможность получать выходные данные всех (и только) файловых объектов, у которых отсутствует атрибут "владельца".