什么是cat -v输出中的^ K?用于mysql

时间:2013-07-24 20:38:21

标签: mysql linux replace whitespace cat

我在一个文件上运行cat -v,请参阅^ K我希望看到某种空格,但不知道如何将该代码转换为我可以用来查找和替换MySQL中的字符的内容

上下文:我有一个mysql字段,最后看起来有一个换行符,就像我查询它时一样,输出结束了。

    select t_unid_contact
    ,      concat('"',t_phone,'"')
    ,      t_phone 
    from contacts_june_2013 
    where T_UNID_Contact = 'CN726181';

    +----------------+-------------------------+-------------+
    | t_unid_contact | concat('"',t_phone,'"') | t_phone     |
    +----------------+-------------------------+-------------+
    | CN726181       | "4155551212
                                  "           | 4155551212
                                                           |
    +----------------+-------------------------+-------------+
    1 row in set (0.00 sec)

我尝试了这些WHERE子句,尝试识别具有隐藏字符的行,但没有得到任何结果:

    where t_phone like '%\n%'
    where t_phone like '%\r%'
    where t_phone like '%\r\n%'
    where t_phone like '%\k%'
    where t_phone regexp '[\r]'
    where t_phone regexp '[\k]'
    where t_phone regexp '[\n]'
    where t_phone regexp '[\r\n]'

我将问题行输出到csv并运行它来查看它;这是输出:

    cat -v testwhitespace.csv 
    "CN726181","4155551212^K" 

有没有人知道如何识别我的表格中的空格字符,这样我就可以使用replace()去除它?

由于

2 个答案:

答案 0 :(得分:1)

^K是垂直/行制表字符U+000B的控制代码。

REPLACE(my_column, _utf8 x'0b', '')

答案 1 :(得分:0)

要回答这个问题,^ K是一个垂直标签,如前所述。 as ^ k == 11th char == b in hexdec

您声明您正在查看文件。

sed -e's / \ x0b / / g'file

应将它们剥离一个空格。

如果要使用SQL,请在where子句上尝试\ x0b。