如何使用 sed 和 vim 使用十六进制地址删除特定字节序列?
How do I remove specific byte sequences with sed and vim using hex addresses?
我有一个字符串,在 vim
中看起来像这样
PFLUGERVILLE TX 7x691 227 12515 <83>¨¨ x Research Boulevard
参考vim,
ga Print the ascii value of the character under the cursor in decimal, hexadecimal and octal.
g8 Print the hex values of the bytes used in the character under the cursor, assuming it is in UTF-8 encoding. This also shows composing characters. The value of 'maxcombine' doesn't matter.
我可以检查它,如果我检查它 <83>
并输入 ga
,我明白了
<<83>> 131, Hex 0083, Octal 203
如果我输入 g8
,我会得到
c2 83
我本来以为
sed -e's/\x00\x83//g' ./file.csv
可以删除角色,但没有乐趣。
没有
sed -e's/\x00\x83//g' ./file.csv
但是,
LC_CTYPE=C sed -e's/\x83//g' ./file.csv
您必须使用 LC_CTYPE=C
,并删除开头的 \x00
。
我有一个字符串,在 vim
中看起来像这样PFLUGERVILLE TX 7x691 227 12515 <83>¨¨ x Research Boulevard
参考vim,
ga Print the ascii value of the character under the cursor in decimal, hexadecimal and octal.
g8 Print the hex values of the bytes used in the character under the cursor, assuming it is in UTF-8 encoding. This also shows composing characters. The value of 'maxcombine' doesn't matter.
我可以检查它,如果我检查它 <83>
并输入 ga
,我明白了
<<83>> 131, Hex 0083, Octal 203
如果我输入 g8
,我会得到
c2 83
我本来以为
sed -e's/\x00\x83//g' ./file.csv
可以删除角色,但没有乐趣。
没有
sed -e's/\x00\x83//g' ./file.csv
但是,
LC_CTYPE=C sed -e's/\x83//g' ./file.csv
您必须使用 LC_CTYPE=C
,并删除开头的 \x00
。