GnuWin32 sed como posso pesquisar e substituir as aspas? Win7 UK

0

Obtendo um comportamento realmente estranho com sed no Win7: Manual diz que o comando surround substitute com aspas simples (') - rejeita, apenas permite aspas duplas ("). Além disso, quero alterar aspas duplas em um arquivo para outro caractere

  • sed "s /" / Q / "- opção de resultado desconhecido
  • sed "s / \" / Q / "- resultado argumento inválido
  • sed "s / '/ Q /" - resultado sem alteração
  • sed "s / \ '/ Q /" - o resultado adiciona "Q" ao final da linha - tratando \' como se o marcador de fim de linha $

Eu usei com êxito o sed no SCO Unix - o que estou fazendo de errado?

    
por Phil 04.06.2014 / 16:38

2 respostas

0

sed --version mostra 4.2.1 e eu verifiquei se o gnuwin32 não é do cygwin.

Isso cria um arquivo a.a com uma citação

C:\blah>copy con a.a
"^Z
Overwrite a.a? (Yes/No/All): y
        1 file(s) copied.

C:\blah>cat a.a
"
C:\blah>sed "s/\"/Q/" a.a
Q

ecoar uma citação é um pouco engraçado, mas isso pode ser feito com ^"

C:\blah>echo " | sed "s/\"/Q/"
" | sed "s/\"/Q/"

C:\blah>echo ^" | sed "s/\"/Q/"
Q

Mas você nem precisa cercar toda a expressão de substituição de sed com aspas

C:\blah>echo ^" | sed s/\"/Q/
Q

C:\blah>sed s/\"/Q/ a.a
Q
C:\blah>
    
por 05.06.2014 / 00:51
-1

eu coloquei isso pepe "el toro" em um arquivo oo.txt e com este comando (usando sed do projeto GNUwin32) sed -i "s / \" / Q / g "oo.txt

Eu recebo isso pepe Qel toroQ no arquivo oo.txt e alguns arquivos de lixo, mas acho que funciona para você.

    
por 12.02.2016 / 20:58

Tags