繁体   English   中英

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

[英]How to get a column from a text file in csv format using awk?

我的文本文件就像

0.1
0.2
0.3
0.4
0.5

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

我想将其转换为 csv 格式。

像这样:

0.1,0.2,0.3,0.4,0.5

回声cat file | sed -es/" "/","/g cat file | sed -es/" "/","/g

我只会使用tr

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

但是如果你坚持awk ,这里你 go :

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

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

如果您想从文本文件中获取一列(几列用逗号分隔),您可以使用 go

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM