Ao omitir as citações importantes sobre a expansão da variável RESP, você disse ao shell para separar os dados no espaço em branco, tentar modificar os dados injetando nomes de arquivos e, em seguida, colocá-los em uma única linha antes de passá-los para grep. É por isso que grep -m1
está dando a você todas as correspondências; está dando a você as correspondências para a primeira linha correspondente, o que acontece com todas elas, já que todas são apenas uma linha.
$ var=$'hello\nworld';
$ echo $var
hello world
$ echo "$var"
hello
world
$ echo $var | grep -m1 -o '.o'
lo
wo
$ echo "$var" | grep -m1 -o '.o'
lo
Então cite a expansão. %código%. Veja também link
Dito isso, echo "$RESP" | grep ...
, grep
e head
estão longe das ferramentas certas para o trabalho. Use um analisador xml para analisar xml. Caso contrário, você corre o risco de convocar o pônei