如何在bash中从文本文件中删除不间断空格?

如何在bash中从文本文件中删除不间断空格?,bash,space,remove,Bash,Space,Remove,我有一个带有文本和数字的csv文件。 如果数字大于1000,格式如下:1000, 所以它有一个空间作为千分之一,但它不是空间。我试着使用它,它在真正的空间里工作,但不是以这种格式 它也不是选项卡,我用“expand-t1”删除了所有选项卡 以下是一行说明问题的文字: x17_Provident_GDN_REMARKETING_Provident.hu_listák;显示_álózat;塞格德;2021-03-09;基德;美孚;胡夫;1 736;9;130.83;0 倒数第二行第8列:1736

我有一个带有文本和数字的csv文件。 如果数字大于1000,格式如下:1000, 所以它有一个空间作为千分之一,但它不是空间。我试着使用它,它在真正的空间里工作,但不是以这种格式

它也不是选项卡,我用“expand-t1”删除了所有选项卡

以下是一行说明问题的文字:

x17_Provident_GDN_REMARKETING_Provident.hu_listák;显示_álózat;塞格德;2021-03-09;基德;美孚;胡夫;1 736;9;130.83;0
倒数第二行第8列:
1736
这就是问题所在


运行这个:
grep-E-m1-E'[;]1[^;]+736[;]'在我们知道它不是中断空间后,我简单地用entry方法在mac上使用它:

opt+space

它是一个2字节的UTF-8编码-
c2a0

您可以使用
perl
安全地删除它

perl -pe 's/\xc2\xa0//g' dirty.csv > clean.csv

与perl类似,您可以将GNU
sed
LC_ALL=C
一起使用:

LC_ALL=C sed 's/\xc2\xa0//g'

head-n1 file.csv | hextump-C
?@CharlesDuffy-thx有关格式化技巧,我是这里的新手:)对您来说是个问题的序列是
c2 0a
。就其本身而言,
0x0a
是一个换行符。在知道文件的编码之前,先知道
0xc2
的含义。
c2 0a
是一个。@CharlesDuffy它是在谷歌广告中生成的,作为tsv文件下载,实际上是在3个tsv文件中,然后我们使用
cat>>new_file.csv
来创建一个大的csv文件。这是在MAC OS上完成的。
LC_ALL=C sed 's/\xc2\xa0//g'