cat <<'EOF' |
13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096
EOF
perl -wpe '1 while s/(\d+)(\d\d\d)/$1,$2/;'
menghasilkan:
13,407,807,929,942,597,099,574,024,998,205,846,127,479,365,820,592,393,377,723,561,443,721,764,030,073,546,976,801,874,298,166,903,427,690,031,858,186,486,050,853,753,882,811,946,569,946,433,649,006,084,096
Ini dilakukan dengan memisahkan string angka menjadi 2 kelompok, kelompok kanan dengan 3 digit, kelompok kiri dengan apa pun yang tersisa, tetapi setidaknya satu digit. Kemudian semuanya digantikan oleh 2 grup, dipisahkan oleh koma. Ini berlanjut sampai substitusi gagal. Pilihan "wpe" adalah untuk daftar kesalahan, lampirkan pernyataan di dalam loop dengan cetak otomatis, dan ambil argumen berikutnya sebagai "program" perl (lihat perintah perldoc perlrun untuk detailnya).
Salam hangat, tepuk tangan, drl
echo 123456789 | awk '$0=gensub(/(...)/,"\\1,","g")'