diff --git a/insights/core/spec_factory.py b/insights/core/spec_factory.py index 6eaac2c70..c115d4e05 100644 --- a/insights/core/spec_factory.py +++ b/insights/core/spec_factory.py @@ -208,7 +208,7 @@ def __init__(self, relative_path, root="/", save_as=None, ds=None, ctx=None, cle if self.ds and filters.ENABLED else False ) - self._filters = filters.get_filters(self.ds, True) if self.ds else set() + self._filters = filters.get_filters(self.ds, True) if self.ds else dict() self.validate() @@ -267,7 +267,9 @@ def create_args(self): args = [] if self._filters: log.debug("Pre-filtering %s", self.relative_path) - args.append(["grep", "-F", "\n".join(self._filters), self.path]) + args.append( + ["grep", "-F", "\n".join(sorted(self._filters.keys(), reverse=True)), self.path] + ) return args @@ -361,7 +363,7 @@ def __init__( if self.ds and filters.ENABLED else False ) - self._filters = filters.get_filters(self.ds, True) if self.ds else set() + self._filters = filters.get_filters(self.ds, True) if self.ds else dict() self.validate() @@ -389,7 +391,7 @@ def create_args(self): if self.split and self._filters: log.debug("Pre-filtering %s", self.relative_path) - command.append(["grep", "-F", "\n".join(self._filters)]) + command.append(["grep", "-F", "\n".join(sorted(self._filters.keys(), reverse=True))]) return command