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
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.
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
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.