分页: 1 / 1
[问题]如何解决sed的正则表达式对ASCII值>255字符失效的问题?
发表于 : 2008-03-28 9:11
由 spider5
比如说:
18:00:03 2.03 àA 2.85 -0.83 -0.29 106.2 11.05 0
代码: 全选
..:..:.. \([^A]\...\) .
最后的句点是无法匹配注音符号的,我想做的是把这一行2.03前面和后面的内容都删除,如何实现?
发表于 : 2008-03-28 9:12
由 yaoms
一个句点不行,用两个,两个不行用三个。那个字符可能是多字节的。
发表于 : 2008-03-28 9:25
由 eexpress
cut -b试试
发表于 : 2008-03-28 10:56
由 bones7456
那字符两个字节的.
代码: 全选
$ echo -n "à" | hex
0x00000000: c3 a0 - ..
其实,如果你只是想取出 2.03 的话,简单 awk '{print $2}' 就可以了啊
发表于 : 2008-03-30 0:30
由 spider5
4楼的主意不错,这是一系列复杂处理中的一个,实在不想编程序。
yaoms的想法是不对的,我用.*都表示不了,更不用说..了,所以才有"."只能代表ascII的结论,另外虽然它是双字节字符,在utf-8里只占一个位置。