Shell 如何使用awk从csv格式的文本文件中获取列?
我的文本文件如下Shell 如何使用awk从csv格式的文本文件中获取列?,shell,csv,scripting,Shell,Csv,Scripting,我的文本文件如下 0.1 0.2 0.3 0.4 0.5 由于此文件是动态生成的,因此可以有n行 我想把它转换成csv格式 像这样: 0.1,0.2,0.3,0.4,0.5 我就用tr: cat file.txt | tr "\n" "," 但是如果您坚持使用awk,那么您可以: awk '{printf "%s,",$0};' file.txt Blender的答案很好,但是如果您想删除最后一个,,当然,只使用awk,下面是一种方法: awk '{printf "%s,",$0};'
0.1
0.2
0.3
0.4
0.5
由于此文件是动态生成的,因此可以有n行
我想把它转换成csv格式
像这样:
0.1,0.2,0.3,0.4,0.5
我就用
tr
:
cat file.txt | tr "\n" ","
但是如果您坚持使用awk,那么您可以:
awk '{printf "%s,",$0};' file.txt
Blender的答案很好,但是如果您想删除最后一个
,
,当然,只使用awk,下面是一种方法:
awk '{printf "%s,",$0};' file.txt | awk '{print substr($0, 0, length($0)-1)}'
下面是如何使用sed执行相同操作的示例:
如果要从文本文件中获取一列(用逗号分隔多个列) 你可以去
awk -F"," '{print $2,$3,$5.}' yourfile.csv
提取第二列、第三列和第五列 echo
cat文件| sed-es/“/”,“/g
awk -F"," '{print $2,$3,$5.}' yourfile.csv