code: def do_child_matches(self, params):
          
          seen = set()
  
          # we don't want to recurse once there's a child matching, hence exclude_recurse=
          for path in self._zk.fast_tree(params.path, exclude_recurse=params.pattern):
              parent, child = split(path)
  
              if parent in seen:
                  continue
  
              match = params.pattern in child
              if params.inverse:
                  if not match:
                      self.show_output(parent)
                      seen.add(parent)
              else:
                  if match:
                      self.show_output(parent)
                      seen.add(parent)
docs: \x1b[1mNAME\x1b[0m
          child_matches - Prints paths that have at least 1 child that matches <pattern>
  
  \x1b[1mSYNOPSIS\x1b[0m
          child_matches <path> <pattern> [inverse]
  
  \x1b[1mOPTIONS\x1b[0m
          * inverse: display paths which don't match (default: false)
  
  \x1b[1mEXAMPLES\x1b[0m
          > child_matches /services/registrations member_
          /services/registrations/foo
          /services/registrations/bar
          ...