Você tem apenas dois casos:
- o campo
38=vem antes do campo11=(Clientid) - o campo
38=vem depois do campo11=(Clientid)
Portanto, uma maneira do KISS de processar o arquivo é
sed -E \
-e 's/(Order):([0-9]*).*[,|]38=([0-9]*).*[,|]11=([0-9]*).*/- 38= Clientid=/' \
-e 's/(Order):([0-9]*).*[,|]11=([0-9]*).*[,|]38=([0-9]*).*/- 38= Clientid=/' \
report.txt
Teste:
$ sed -E \
> -e 's/(Order):([0-9]*).*[,|]38=([0-9]*).*[,|]11=([0-9]*).*/- 38= Clientid=/' \
> -e 's/(Order):([0-9]*).*[,|]11=([0-9]*).*[,|]38=([0-9]*).*/- 38= Clientid=/' \
> report.txt
Order-479959 38= 723 Clientid=884
Order-24780 38= 470 Clientid=405
Order-799794 38= 350 Clientid=216
Order-72896 38= 17 Clientid=735