How to search for text in a file ignoring newlines?
The GNU grep
can do it
grep -z 'is\san\sexample\sfile.' file
To fulfill some points which arise in comments there are some modifications to script:
grep -oz '^[^\n]*\bis\s*an\s*example\s*file\.[^\n]*' file
Regarding huge files I have no imagination of memory limitation but in the case of problem you are free to use sed
sed '/\bis\b/{
:1
N
/file\.\|\(\n.*\)\{3\}/!b1
}
/\<is\s*an\s*example\s*file\./p
D' file
that keep no more than 4-lines (because 4 words in pattern) in memory (\(\n.*\)\{3\}
).
Try this:
pcregrep -M '\bThis\s+is\b' <<EOT
This
is
an example
file.
EOT