>How do you deal with words like "---" in your text that look like the match separator of grep?
For this one you can use the "--" flag to signal that everything else should be treated as an argument.
$ grep -rn -- -For this one you can use the "--" flag to signal that everything else should be treated as an argument.
$ grep -rn -- -However intermixing text with separators is not trivial. There are reasons we use JSON/XML for exchanging structured data.