sustituir regular regexp_replace reemplazar quitar imprimibles extraños expresion especiales especiais eliminar caracteres 11g regex linux sed tr

regular - regexp_replace caracteres especiais oracle



Intentando eliminar caracteres que no sean ASCII solo (1)

Esta pregunta ya tiene una respuesta aquí:

Estoy tratando de manipular un archivo de texto y eliminar caracteres no ASCII del texto. No quiero eliminar la línea. Solo quiero eliminar los personajes ofensivos. Estoy intentando que la siguiente expresión funcione:

sed ''/[/x80-/xFF]/d''


Las soluciones sugeridas pueden fallar con una versión específica de sed, por ejemplo, GNU sed 4.2.1.

Usando tr :

tr -cd ''[:print:]'' < yourfile.txt

Esto eliminará cualquier carácter que no esté en [/x20-/x7e] .

Si desea mantener, por ejemplo, alimentaciones de línea, solo agregue /n :

tr -cd ''[:print:]/n'' < yourfile.txt

Si realmente desea conservar todos los caracteres ASCII (incluso los códigos de control):

tr -cd ''[:print:][:cntrl:]'' < yourfile.txt

Esto eliminará cualquier carácter que no esté en [/x00-/x7f] .