gpt4 book ai didi

bash - 使用 IFS bash : choose ";" as the separator 解析 CSV

转载 作者:行者123 更新时间:2023-11-29 09:44:07 25 4
gpt4 key购买 nike

我有一个包含 130 列的 CSV,我需要用它做 3 个 csv。我正在循环一段时间和 IFS,因为我需要对每一行的变量进行一些处理。

这是我所做的:

while IFS=";" read [my 130 vars]
[what i do with the vars]
done < file.csv

但是我在某些行上遇到了问题,因为我收到的原始 csv 是这样的:

"Hi";"i";"got;a problem"

如您所见,我遇到了一个问题;在一个值。 IFS 将其解读为两个值的分离。所以这是我的问题:有没有办法采取“;”作为分隔符而不仅仅是 ; ?

最佳答案

你可以使用 awk:

gawk 'BEGIN{FPAT="([^;]+)|(\"[^\"]+\")"}{for(i=1;i<=NF;i++){printf ("%s\n",$i)}}' file.csv

对于您的输入,它会产生:

"Hi"
"i"
"got;a problem"

(我怀疑是否有可能使用 bash 实现预期的结果,即通过操作 IFS。)

关于bash - 使用 IFS bash : choose ";" as the separator 解析 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20284578/

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