gpt4 book ai didi

awk - 有没有办法用 sed 替换所有逗号,除了引号中的逗号

转载 作者:行者123 更新时间:2023-12-04 00:13:51 33 4
gpt4 key购买 nike

# Director, Movie Title, Year, Comment
Ethan Coen, No Country for Old Men, 2007, none
Ethan Coen, "O Brother, Where Art Thou?", 2000, none

就像这里一样,引号外的逗号必须替换为 |

伊桑·科恩| “哦,兄弟,你在哪里?”| 2000|无

我确实尝试过这个命令

sed  -e 's/,(?=(?:[^"]*"[^"]*")*[^"]*$)/|/g', 

首先匹配这些字符串,把我得到 RE 错误:重复操作符操作数无效

我不知道如何将全新的 re 转换为 shell 和正则表达式,我将不胜感激

最佳答案

您可以尝试使用此 gnu awk 命令和 FPAT 来使用自定义正则表达式拆分字段:

awk -v OFS='|' -v FPAT=' *"[^"]*"|[^",]+' '{$1=$1} 1' file

# Director| Movie Title| Year| Comment
Ethan Coen| No Country for Old Men| 2007| none
Ethan Coen| "O Brother, Where Art Thou?"| 2000| none

关于awk - 有没有办法用 sed 替换所有逗号,除了引号中的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65550396/

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