# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/(.*,.*|\..*)(*SKIP)(*F)|\B(?=(\d{3})+\b)/,/g;t' <<< "123
.123456
12.12345
123.12345
1234.1234
7777777
111111.1 5555555555555555
65432.123456
123456789
12345.
12312312312312345.123456789
123,456
1234,456789
12,345,678.12"
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html