2016-11-02 1 views
-2

J'ai une chaîne, ressemble à ceci dans vimComment supprimer des séquences d'octets spécifiques avec sed et vim en utilisant des adresses hexadécimales?

PFLUGERVILLE TX 7x691 227 12515 < 83> ¨¨ x Research Boulevard

Pour référence dans vim,

ga Imprime la valeur ASCII du caractère sous le curseur en décimal, hexadécimal et octal.

g8 Imprime les valeurs hexadécimales des octets utilisés dans le caractère sous le curseur, en supposant qu'il soit en codage UTF-8. Cela montre également les caractères de composition. La valeur de 'maxcombine' n'a pas d'importance.

Je peux vérifier si je vais au-dessus <83> et tapez ga, je reçois ce

<<83>> 131, Hex 0083, Octal 203 

Si je tape g8, je reçois

c2 83 

j'aurais pensé que

sed -e's/\x00\x83//g' ./file.csv 

fonctionnerait pour enlever le caractère, mais pas de joie.

Répondre

0

Non

sed -e's/\x00\x83//g' ./file.csv 

mais,

LC_CTYPE=C sed -e's/\x83//g' ./file.csv 

Vous devez utiliser LC_CTYPE=C et supprimer le démarrage \x00.

+0

Est-ce la réponse? Si oui, veuillez l'accepter pour que les autres le sachent. Si ce n'est pas le cas, et si vous avez d'autres informations à propos de votre question, veuillez cliquer sur "modifier" sous votre question et ajoutez-le ici et supprimez-le. –

+0

Je l'accepterais, je ne peux pas à cause de la limite de 2 jours. –