如何使用awk以csv格式从文本文件中获取列?

时间:2011-05-05 04:25:19

标签: shell csv scripting

我的文字文件就像

0.1
0.2
0.3
0.4
0.5

由于此文件是动态生成的,因此可以有多行

我想将其转换为csv格式。

像这样:

0.1,0.2,0.3,0.4,0.5

4 个答案:

答案 0 :(得分:1)

我只是使用tr

cat file.txt | tr "\n" ","

但如果您坚持awk,请转到:

awk '{printf "%s,",$0};' file.txt

答案 1 :(得分:1)

Blender的答案很好,但是如果你想删除最后一个,,当然只使用 awk ,这是一种方法:

awk '{printf "%s,",$0};' file.txt | awk '{print substr($0, 0, length($0)-1)}'

以下是使用 sed

执行相同操作的示例
sed ':q;N;s/\n/,/;t q' file.txt

答案 2 :(得分:1)

echo cat file | sed -e s/" "/","/g

答案 3 :(得分:0)

如果要从文本文件中获取列(以逗号分隔多个列) 你可以去

awk -F"," '{print $2,$3,$5.}' yourfile.csv

提取第二,第三和第五列。