Старый вопрос, но я все равно прокомментировал. Ответ Карлфилипа работает, но имеет побочный эффект разделения строки на несколько строк и повторения их по отдельности. Я не уверен, что этого хочет Дениз.
То, как я читаю вопрос, заключается в том, что он хочет, чтобы grep нашел строку, если она содержит какие-либо вхождения в слова "немецкий", "германия" или "германия".
Это решение похоже, но не выполняет разбиение:
$ echo "germanialand germanistan germanburg germania" | grep -E "\<german(ia|land|)\>"
germanialand germanistan germanburg germania
$ echo "germanistan germanburg germaniaburg" | grep -E "\<german(ia|land|)\>"
$