diff options
Diffstat (limited to 'test/patsplit.awk')
-rw-r--r-- | test/patsplit.awk | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/patsplit.awk b/test/patsplit.awk new file mode 100644 index 00000000..af2813aa --- /dev/null +++ b/test/patsplit.awk @@ -0,0 +1,26 @@ +BEGIN { + FALSE = 0 + TRUE = 1 + + fpat[1] = "([^,]*)|(\"[^\"]+\")" + fpat[2] = fpat[1] + fpat[3] = fpat[1] + fpat[4] = "aa+" + fpat[5] = fpat[4] + + data[1] = "Robbins,,Arnold," + data[2] = "Smith,,\"1234 A Pretty Place, NE\",Sometown,NY,12345-6789,USA" + data[3] = "Robbins,Arnold,\"1234 A Pretty Place, NE\",Sometown,NY,12345-6789,USA" + data[4] = "bbbaaacccdddaaaaaqqqq" + data[5] = "bbbaaacccdddaaaaaqqqqa" # should get trailing qqqa + + for (j = 1; j in data; j++) { + printf("Splitting: <%s>\n", data[j]) + n = patsplit(data[j], fields, fpat[j], seps) + print "n =", n + for (i = 1; i <= n; i++) + printf("fields[%d] = <%s>\n", i, fields[i]) + for (i = 0; i in seps; i++) + printf("seps[%s] = <%s>\n", i, seps[i]) + } +} |