GNU awk FPAT:
$ cat tst.awk
BEGIN { FPAT="\\S+|\"[^\"]+\"|,[^,]+," }
{
gsub(/@/,"@A")
gsub(/,/,"@B")
gsub(/""/,",")
for (i=1; i<=NF; i++) {
gsub(/,/,"\"\"",$i)
gsub(/@B/,",",$i)
gsub(/@A/,"@",$i)
print i, $i
}
}
$ awk -f tst.awk file
1 0
2 "some string"
3 234
4 23947
5 123
6 ""some escaped"string""
, , . fooobar.com/questions/1660329/...