Você precisa escapar (com contrabaixo \ ) todas as barras substituídas / e todas as barras invertidas \ separadamente, portanto:
$ echo "/tmp/test/folder1/test.txt" | sed 's/\//\\//g'
\/tmp\/test\/folder1\/test.txt
mas isso é bastante ilegível.
No entanto, sed permite usar quase qualquer caractere como um separador em vez de / , isso é especialmente útil quando se deseja substituir a barra / , como no seu caso, usando, por exemplo, semicolon ; como separador, o comando se tornaria mais simples:
echo "/tmp/test/folder1/test.txt" | sed 's;/;\/;g'
Outros casos:
-
Se alguém quiser ficar com a barra como separador e usar aspas duplas, todas as barras invertidas com escape precisarão ser escapadas mais uma vez para preservar seus valores literais:
echo "/tmp/test/folder1/test.txt" | sed "s/\//\\\//g" -
se não quisermos citações, será necessária outra barra invertida:
echo "/tmp/test/folder1/test.txt" | sed s/\//\\\//g