Você precisa usar um altar ( <<< ) aqui para passar a string como entrada para grep , herestring retorna um descritor de arquivo, grep pode então operar:
$ grep -ni "^li" <<<"linux
loan
litmus
launch"
Saída:
1:linux
3:litmus
Se o seu shell não suporta herestrings, muitos shells não, você pode imprimir sua string e canalizá-la para grep :
$ echo "linux
loan
litmus
launch" | grep -n -i "^li"
1:linux
3:litmus
Ou use heredoc ( << ):
$ grep -ni "^li" <<EOF
> linux
> loan
> litmus
> launch
> EOF
1:linux
3:litmus