Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如何使用awk从csv格式的文本文件中获取列?_Shell_Csv_Scripting - Fatal编程技术网

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