分页: 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里只占一个位置。