我有一个文本文件:
ifile.txt
1 4 22.0 3.3 2.3
2 2 34.1 5.4 2.3
3 2 33.0 34.0 2.3
4 12 3.0 43.0 4.4
我想将其转换为csv文件:
ofile.txt
ID,No,A,B,C
1,4,22.0,3.3,2.3
2,2,34.1,5.4,2.3
3,2,33.0,34.0,2.3
4,12,3.0,43.0,4.4
我试过这个,但没有得到结果。
(echo "ID,No,A,B,C" ; cat ifile.txt) | sed 's/<space>/<comma>/g' > ofile.csv
7条答案
按热度按时间ix0qys7i1#
只有sed,没有其他
目录文件.csv
bpzcxfmw2#
awk
在这里可能有点过头了。恕我直言,使用tr
进行直接替换要简单得多:xe55xuns3#
这是awk版本
awk 'BEGIN{print "ID,No,A,B,C"}{print $1","$2","$3","$4","$5}' ifile.txt
输出:
eoigrqb64#
试试这个
输出
ruyhziif5#
一种可能性,不一定是最好的,是:
在第1行之前插入标题;将一个或多个类似空格字符的序列更改为逗号。在传统(POSIX标准-在本例中为BSD或Mac OS X)
sed
中,换行符是必需的; GNUsed
允许您使用:输出量:
或者,更简单地说,让
sed
处理文件,并使用echo
添加头文件,就像您在大纲中所做的那样:回顾一下,这可能是我会用的。
cdmah0mi6#
只需使用awk命令即可。
h7wcgrx37#
使用cat文件名|列-t -s“”,
我们可以在unix服务器上将平面文件转换为csv格式。