制表符分隔到逗号在UNIX中的分隔文件 - 一个班轮?

时间:2010-05-10 21:38:25

标签: mysql regex unix replace sed

我有一个制表符分隔文件(MySQL Out文件)。

我想将其转换为CSV文件。除了将NULL替换为空或空格之外,我得到了所有工作。

我拥有的是:sed -e 's/^/"/; s/$/"/; s/\t/","/g;' < file.csv > file1.csv

如何在同一行中替换NULL。

以下不起作用。

sed -e 's/NULL//; s/^/"/; s/$/"/; s/\t/","/g;' < file.csv > file1.csv

非常感谢任何输入。

谢谢!

2 个答案:

答案 0 :(得分:0)

你不能用sed做到这一点。

#!/usr/bin/env python

import sys, csv

reader = csv.reader(open(sys.argv[1], 'rb'), delimiter="\t", escapechar="\\")
writer = csv.writer(open('output.csv', 'wb'))
for row in reader:
    writer.writerow(row)

答案 1 :(得分:0)

你难道不忘记把'g'修饰符放在那里吗?

sed -e 's/NULL//g; s/^/"/; s/$/"/; s/\t/","/g;' < file.csv > file1.csv