Como posso deletar 93 94 símbolos no arquivo? É equivalente “”

1

Copiei o texto de um arquivo PDF no bash - vi e eu recebo linhas assim:

echo <93>The Hypotenuse is $hypotenuse<94>

Eu tentei mudar isso em vi por:

s/<93>/"/g

Mas:

E486: Pattern not found: <93>

E por sed :

sed 's/''echo "3"''/"/g' par.sh

E:

sed 's/''echo "4"''/"/g' par.sh

E:

sed 's/\<93\>/\"/g' aa.sh
echo В“The Hypotenuse is $hypotenuseВ”

Você poderia me dizer o que devo usar?

    
por avsun 24.06.2015 / 14:44

3 respostas

3

Em vi você precisa inserir a sequência de teclas para cada um dos 2 caracteres especiais, não os caracteres ascii para a exibição deles (se você colocar o cursor sobre eles, verá toda a sequência ascii está em destaque):

  • Ctrl + v , x , 9 , 3 em vez de <93>
  • Ctrl + v , x , 9 , 4 em vez de <94>

Para que a pesquisa cmd se pareça com isso:

:% s / Ctrl + v , x , 9 ,     3 / "/ g

    
por 24.06.2015 / 15:19
1

Com sed , você pode usar caracteres literais:

sed -e 's/”/"/g' -e 's/“/"/g' file

ou usando perl com o ponto de código Unicode:

perl -CSD -pe 's/\x{201C}|\x{201D}/"/g' file
    
por 24.06.2015 / 15:18
0

Esta é outra maneira, mas usando perl.

perl -i.bak -pe 's/[^[:ascii:]]//g' file
  • O sinalizador -i cria um backup do arquivo original.
por 15.11.2017 / 18:24