US="$(printf '\037.')"; US="${US%.}" buf='Hello, world!' printf '%s' "${buf}" | sed "s/\\(.\\)/\\1${US}/g" | \ awk -v FS="${US}" -v j=0 -v squote="'" -v esc_squote="'\\\\''" ' { for (i = 1; i <= NF; ++i) { if ($i == "") { continue; } sub(squote, esc_squote, $i); printf("lbufv_%d=" squote "%s" squote "\n", j++, $i); }; printf("lbufv_%d=" squote "\n" squote "\n", j++); } '