Sed está fazendo isso, ele usa um regex na seção "find". usa BRE ou ERE ou PCRE dependendo do interruptor. Backslash é especial dentro de um regex.
Adicionado
Eu não usei sua versão de usar aspas simples, porque isso não faz sentido para mim em cmd.exe !! O cmd.exe usa aspas duplas, se houver.
E isso funciona bem.
testado com o sed do gnuwin32 a partir do cmd.exe como deveria ser.
C:\>echo sample\input | sed "s/\/----/"
sample----input
C:\>sed --v
GNU sed version 4.2.1
Copyright (C) 2009 Free Software Foundation, Inc.
Se eu estivesse testando o cygwin's sed, eu o executaria a partir da janela do cygwin, pois é onde os programas do cygwin devem ser executados. E então eu usaria aspas simples. msys parece semelhante ao cygwin nesse sentido.
UPDATE
Você pode executar o sed do cygwin a partir do cmd ou do cygwin. Eles se comportam de maneira diferente porque são versões GNU diferentes, mas eu não vejo nenhum problema relacionado ao shell rodando a partir do cmd vs cygwin (além do simples ponto sobre aspas simples para cygwin 'cos eg bash e aspas duplas para cmd).
E o cygwin é uma versão muito posterior do sed. O sed do Gnuwin32, como muitas outras coisas do gnuwin32, incluindo o gnuwin32 grep, está anos fora de moda. e por exemplo os greps posteriores podem corrigir bugs em greps anteriores. O sed 2009 que o gnuwin32 usa, ou a versão menos atualizada que o gnuwin32 usa, pode estar ok, mas pode ser melhor usar uma versão recente que o cygwin usaria.
Curiosamente, os seds se comportam de maneira diferente em relação à barra invertida. Eu posso ver como fazê-lo funcionar no sed mais tardio, o sed que o cygwin usa.
C:\blah>echo a\bc | c:\cygwin\bin\sed "s/\/_/"
/usr/bin/sed: -e expression #1, char 6: unterminated 's' command
C:\blah>echo a\bc | c:\cygwin\bin\sed "s/\\/_/"
a_bc
C:\blah>echo a\bc | "c:\Program Files (x86)\GnuWin32\bin\sed" "s/\/_/"
a_bc
O sed anterior (sed do gnuwin32), permite "s / \ / _ /" Não está escapando da barra. Portanto, a barra invertida está escapando da barra invertida para criar uma barra invertida literal. E a barra depois das duas barras invertidas continua boa. E isso funciona.
note: executar o sed do cygwin no cmd é bom. E como é uma versão posterior, é preferível o sed do gnuwin32.
O último sed (cygwin's sed), não permite "s / \ / _ /" porque o / está escapando da barra. Instinto (e instinto correto) seria tentar adicionar outra barra invertida e ver o que acontece. E isso funciona. Não tenho certeza da mecânica, mas acho que uma única barra invertida no último sed é \\
.
C:\blah>echo \ | c:\cygwin\bin\sed "s/\\/d/"
d