如何解决awk忽略双引号内的字段分隔符?
我需要打印双引号并将定界符作为值。
样本数据:
a,"b,c,d",e
a,b,c
a,
@ user4453924 How to make awk ignore the field delimiter inside double quotes?提供的命令
awk '{while(match($0,/("[^"]+",|[^,]*,|([^,]+$))/,a)){
$0=substr($0,RSTART+RLENGTH);b[++x]=a[0]}
print b[2] ;x=0}' file
因此,当使用@ user4453924提供的上述命令时,结果只有2行
“ b,c,d”,
b
其中预期的输出是(4行,最后2个为空值)为:
“ b,c,d”,
b,
,
,
并且当最后一行在第二个位置具有某个值时,但如果最后一行没有任何值,则它不考虑该行或上一行。
有帮助吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。