Quiero eliminar los caracteres extraños / especiales del grupo de archivos de texto. Aquí utilicé el siguiente comando para eliminar los caracteres extraños, pero me da el error.
Comando:
1) grep -lri -e à ¢ â¬Å temp.txt | xargs sed -i 's_à ¢ â¬Å _ "_ g'
2) grep -lri -e à ¢ â¬Å temp.txt | xargs sed -i 's / à ¢ â¬Å / "/ g'
3) grep -lri -e à ¢ â¬Å temp.txt | xargs perl -piew 's_à ¢ â¬Å _ "_ g'
4) grep -lri -e à ¢ â¬Å temp.txt | xargs perl -piew 's / à ¢ â¬Å / "/ g'
Aquí quiero reemplazar à ¢ â¬Å este personaje con "cita".
Estos son algunos de los caracteres extraños que quiero eliminar de los archivos de texto:
â € “, â €",; ,:,! , ¡, ¿,  ·, â € š, â € ¹, â € º,  », @, /, [,] \, \ ^, +, \, \ $, \ s, &, # ,%, â €, â € ¡, `, ´, ¯, ˘, ¨, §, ¶,  ©, ®, â„,  °, º, ∠‚, ∠†, âˆ, ∠',  ±, =, â ‰, ¬, \,, ~, ∠«, €, ª, Ã, à ¢, Ã…, ä, à †, à ‡, è, à «, ï¬, fl, Æ ', Ã, ì, î, ï, ó, ², ô, ö, õ, ø, Å “, ß y así sucesivamente.
Por favor, ayúdame en esto y también sugiere el comando para eliminar el montón de personajes extraños.
Respuestas:
El
perl
comando puede operar fácilmente en un conjunto de archivos. No es necesario quegrep
los archivos busquen una determinada cadena, luego pasen esos nombres de archivo a través de una tuberíaxargs
y luego aperl
. Esto definitivamente será un punto de equilibrio en el simple caso de que cualquiera de los archivos contenga espacios en su nombre.¿Por qué no hacer lo siguiente, por ejemplo, para eliminar caracteres no válidos?
O, para eliminar caracteres no ASCII:
O, para reemplazar un cierto personaje con otro:
fuente
ââ¬Å
con una cita, uses/ââ¬Å/"/g
, etcétera. Ver: Patrones de texto de Perl para buscar y reemplazar , pero en realidad, estoy bastante seguro de que su problema es solo que el archivo que tiene está codificado incorrectamente, ¿verdad? ¿No sería mejor arreglar la codificación general de caracteres? ¿De dónde sacaste el archivo?perl -pi -e 's/foo/bar/g; s/yak/yaz/g; s/…/…/g; …' *.txt
. No hay forma de evitar eso, en realidad, a menos que desee escribir un script en el que pueda colocar las cadenas de reemplazo en una matriz asociativa de algún tipo. Pero eso probablemente sería excesivo aquí.