+ -
当前位置:首页 → 问答吧 → 制表符\t为分隔的数据记录文件里有些行有^M换行,在awk里如果处理?

制表符\t为分隔的数据记录文件里有些行有^M换行,在awk里如果处理?

时间:2011-02-16

来源:互联网

本帖最后由 gnubuntu 于 2011-02-16 15:57 编辑

我从mysql里用select ... into outfile 'file'; 把要取的字段导出到文件

一共四个字段,默认是用\t分隔的
这四个字段,最后一个字段是文章的内容,由于是ubb代码,里面的分行出现了 ^M\ 字符

下载 (40.99 KB)
2011-02-16 14:49


如上面,结果现在文件里同条记录不同行了,awk如何处理?





附测试文件。

test.zip (545 Bytes)

下载次数:1

2011-02-16 15:56

作者: gnubuntu   发布时间: 2011-02-16

上传需处理的文件吧

作者: ywlscpl   发布时间: 2011-02-16

把 \r去掉?
awk '{gsub(/\r/,"")}1' urfile

作者: cjaizss   发布时间: 2011-02-16

回复 ywlscpl


    谢谢,更新到1楼了

作者: gnubuntu   发布时间: 2011-02-16

回复 cjaizss


    每条记录有四个字段,最后一个字段是文章内容,才是这个样子。。。

这个代码是把所有有 \r 都去了?

作者: gnubuntu   发布时间: 2011-02-16



QUOTE:
回复  cjaizss


    每条记录有四个字段,最后一个字段是文章内容,才是这个样子。。。

这个代码是 ...
gnubuntu 发表于 2011-02-16 15:58




    是的,是不是有的\r是有用的呢?

作者: cjaizss   发布时间: 2011-02-16

本帖最后由 ywlscpl 于 2011-02-16 16:28 编辑

回复 gnubuntu
^M\字符是不去除的吧
try
  1. awk '/\r\\$/{printf $0;next}1' test.sql
复制代码

作者: ywlscpl   发布时间: 2011-02-16

热门下载

更多