Você não mostra o que faz com $r
, mas aposto que é
echo $r
Você precisa colocar a variável entre aspas duplas para preservar as novas linhas
echo "$r"
Sem aspas, a variável está sujeita a divisão de palavras , em que qualquer sequência de espaços em branco 1 (incluindo novas linhas) são substituídos por um único espaço 1
1 : por padrão, depende do conteúdo de $IFS
(padrão: espaço, tabulação, nova linha)