Em primeiro lugar, que ^M é um retorno de carro ( \r ), não uma nova linha (% código%). O \n é outra coisa novamente, ele está lá para escapar da nova linha, assim os programas de análise de CSS não o tratarão como o fim do registro.
O que você realmente tem lá é um arquivo que foi criado no Windows, onde o final de uma linha é definido por \ em oposição a apenas \r\n como você tem em * nix. Não posso ter certeza se você não nos der um trecho do seu arquivo real, mas se vir \n in ^M\ , seguido de vim e, em seguida, uma nova linha, você provavelmente terá \ no arquivo. Então, tente isto:
perl -i -pe 's/\r\\n/ /'g file