Remove missing files from a list

Hi,

Imagine a service foo that has a config file
/etc/foo/files_of_interest which is just a list of other file paths,
one per line. If you put a path that doesn't exist into the file
then the service foo complains about it regularly, so you'd better
not do that.

I'd like to provide a default list of paths to all remote hosts, but
sometimes some of those paths won't be present. At the time the
/etc/foo/files_of_interest file is built I would like to exclude any
paths that don't exist.

I would prefer not to use per-host variables to specify a different
set of paths as that would be too much to manage and some of these
paths may spring into existence later on, without me knowing.

I found one way to do it:

    https://gist.github.com/grifferz/a505e352baa18e06ba1ba1d02a123ee2

This works, but have I missed something which allows this to be done
in a more elegant way?

Cheers,
Andy

Building the list of missing files doesn’t need to be a multi-step process or involve an Ansible loop. I would preserve the ordering in the generated file instead of splitting it into two lists, so that someone manually adding a file and uncommenting its line creates the same state as re-templating the file.

So, something like this: https://gist.github.com/flowerysong/d6c5b16123473279c025fe8d34c20bd6

Hi,