Sed para windows

3

Estou tentando usar o SED pela primeira vez. Para complicar, estou usando no windows. Eu baixei da esta fonte . Como não tenho privilégios de instalação em minha máquina de trabalho, criei uma pasta no meu perfil para executáveis e a adicionei ao meu PATH .

Estou tendo problemas para tentar usar o SED pela primeira vez. Ele continua falhando com o erro:

sed: -e expression #1, char 1: unknown command: '' '' ' Eu tentei algumas amostras diferentes de This how to mas eu simplesmente não consigo entender. Eu encontrei nenhum outro está tendo este problema. O que devo tentar? Eu tentei encapsulá-lo entre aspas, aspas duplas e aspas nas costas. Nada parece ajudar.

    
por TheSavo 15.02.2012 / 16:25

2 respostas

4
C:\>sed sdf
sed: -e expression #1, char 3: Unterminated 's' command

C:\>echo aaa > f
C:\>sed -e "s/a/x/" < f
xaa

Isso está usando sed de unxutils

    
por 15.02.2012 / 17:54
5

Ao contrário dos Unixes, o shell de linha de comando do Windows não executa nenhuma divisão de palavras e não retira as aspas; o programa apenas recebe uma única string contendo toda a linha de comando. Isso significa que nem todos os programas podem seguir as mesmas regras de cotação.

Neste caso, a versão do GnuWin32 sed suporta apenas um estilo de citação - " aspas duplas " . Por exemplo, nos meus testes, o seguinte funciona bem:

sed "s/foo/bar/"

Você também pode obter sed do Cygwin , juntamente com um sistema mais completo semelhante ao Unix: shells, editores, outros Ferramentas. Será mais fácil se você usar um shell Unix para aprender, para evitar problemas de sintaxe no futuro.

    
por 15.02.2012 / 16:39