gpt4 book ai didi

linux - Sed 根据引号处理引号内的逗号以及多个引号内不带逗号的数据进行拆分

转载 作者:太空宇宙 更新时间:2023-11-04 09:14:06 26 4
gpt4 key购买 nike

我有如下数据

123,"john,test",John"test,""john"",345

上面需要按照下面拆分,

123

"john,test"

John"test

""john""

345

我尝试在拆分时使用 sed 处理引号内的逗号,但对于多个双引号内的数据显示不正确。而且中间有双引号的数据也没有得到处理。我尝试使用 awk 但无法使用 fpat 功能,因为我们有旧版本的 awk。

你能帮忙解决同样的问题吗?

最佳答案

这可能对你有用(GNU sed):

sed -r 's/([^",]*("[^"]*"[^",]*)*),/\1\n/g' file

将所有未被双引号包围的逗号替换为换行符。

更深入:分组零个或多个不包含双引号或逗号的字符,后跟零个或多个双引号组,后跟零个或多个非双引号字符(可能是逗号),后跟双引号后跟零个或多个不包含双引号的字符,后跟一个逗号,并用换行符替换最后一个逗号。在整个文件中全局执行此操作。

现在如果双引号或逗号被引用...

关于linux - Sed 根据引号处理引号内的逗号以及多个引号内不带逗号的数据进行拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50635955/

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