$read returns a single line, not multiple lines.

What is preventing you from looping through the file, or using /filter with g flag like I already suggested?

You're asking for stuff that doesn't exist, while there are enough tools to do what you want already.

alias showfilter echo -a > $1
//filter -fkg <file> showfilter <regex>

You don't need a regex if all you want to do is show the contents of a file to your active window, you can simply use loadbuf:

alias showfile loadbuf $iif($active != status window,-pi $ifmatch,-spi) $$1-


Gone.