gpt4 book ai didi

通过 awk 插入 CSV 列

转载 作者:行者123 更新时间:2023-12-02 01:31:01 27 4
gpt4 key购买 nike

我正在尝试在逗号分隔值文件 (CSV) 的第一列前面插入一列。乍一看,awk 似乎是可行的方法,但是,我正在努力解决如何向下移动新列的问题。

CSV 文件

A,B,C,D,E,F
1,2,3,4,5,6
2,3,4,5,6,7
3,4,5,6,7,8
4,5,6,7,8,9

尝试的代码

awk 'BEGIN{FS=OFS=","}{$1=$1 OFS (FNR<1 ? $1 "0\nA\n2\nC" : "col")}1'

结果

A,col,B,C,D,E,F
1,col,2,3,4,5,6
2,col,3,4,5,6,7
3,col,4,5,6,7,8
4,col,5,6,7,8,9

预期结果

col,A,B,C,D,E,F
0,1,2,3,4,5,6
A,2,3,4,5,6,7
2,3,4,5,6,7,8
C,4,5,6,7,8,9

最佳答案

这可以使用 paste + printf 轻松完成:

paste -d, <(printf "col\n0\nA\n2\nC\n") file

col,A,B,C,D,E,F
0,1,2,3,4,5,6
A,2,3,4,5,6,7
2,3,4,5,6,7,8
C,4,5,6,7,8,9

<(...) bash 中是否可以进行进程替换。对于其他 shell,请使用如下管道:

printf "col\n0\nA\n2\nC\n" | paste -d, - file

关于通过 awk 插入 CSV 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73290344/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com