无法用sed或vim替换Unicode字符

无法用sed或vim替换Unicode字符,vim,awk,unicode,sed,utf-8,Vim,Awk,Unicode,Sed,Utf 8,我有一个我认为是unicode类型的文件,我想用sed或其他一些unix实用程序删除它们。我尝试了几个选项,但由于某些原因无法删除这些字符。单线显示的测试用例(头部-n1) 尝试1: > head -n1 file1.txt | hexdump -C # Hexdump line 1 output: 00000000 47 72 6f 75 70 c2 a0 20 20 20 53 69 67 6e 61 6c |Group.. Signal| 00000010 c2 a0

我有一个我认为是unicode类型的文件,我想用sed或其他一些unix实用程序删除它们。我尝试了几个选项,但由于某些原因无法删除这些字符。单线显示的测试用例(头部-n1)

尝试1:

> head -n1 file1.txt | hexdump -C  # Hexdump line 1
output:
00000000  47 72 6f 75 70 c2 a0 20  20 20 53 69 67 6e 61 6c  |Group..   Signal|
00000010  c2 a0 6e 61 6d 65 c2 a0  20 20 20 20 20 20 20 20  |..name..        |
00000020  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000030  55 6e 69 74 c2 a0 20 74  79 70 65 c2 a0 44 65 73  |Unit.. type..Des|
00000040  63 72 69 70 74 69 6f 6e  c2 a0 0d 0a              |cription....|
0000004c
现在替换上面的“c2 a0”

没有人替换

尝试2:使用vim

vim file1.txt
:set nobomb
:set fileencoding=utf-8
:wq

再次使用sed,未发生替换。如何替换或删除这些字符(十六进制“c2a0”)?

我最终使用Perl成功地删除了unicode字符

> perl -v
This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level

> perl -pi -e 's/\x{c2}\x{a0}//g' file1.txt
> head -n1 file1.txt | hexdump -C
00000000  47 72 6f 75 70 20 20 20  53 69 67 6e 61 6c 6e 61  |Group   Signalna|
00000010  6d 65 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |me              |
00000020  20 20 20 20 20 20 20 20  20 20 55 6e 69 74 20 74  |          Unit t|
00000030  79 70 65 44 65 73 63 72  69 70 74 69 6f 6e 0d 0a  |ypeDescription..|
00000040
> perl -v
This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level

> perl -pi -e 's/\x{c2}\x{a0}//g' file1.txt
> head -n1 file1.txt | hexdump -C
00000000  47 72 6f 75 70 20 20 20  53 69 67 6e 61 6c 6e 61  |Group   Signalna|
00000010  6d 65 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |me              |
00000020  20 20 20 20 20 20 20 20  20 20 55 6e 69 74 20 74  |          Unit t|
00000030  79 70 65 44 65 73 63 72  69 70 74 69 6f 6e 0d 0a  |ypeDescription..|
00000040