Подскажите, аналог баша для такого
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
char s[1000] = "";
unsigned long i, k;
if (argc < 2) return 1;
i = atol(argv[1]);
if (i >= 1000000000000) sprintf(s, "error > 1000 000 000 000");
else if ((k = i / 1000000000) > 0)
{
sprintf(s, "%lu bln", k) ; i = i - k * 1000000000;
if ((k = i / 1000000) > 0)
{
sprintf(s+strlen(s), " %lu mln", k) ; i = i - k * 1000000;
};
if ((k = i / 1000) > 0)
{
sprintf(s+strlen(s), " %lu thn", k) ; i = i - k * 1000;
};
if (i > 0)
{
sprintf(s+strlen(s), " %lu", i) ;
};
};
printf("%s\n",s);
return 0;
}
суть в том, чтобы трансформировать набор цифр типа 1500600 в числа удобочитаемые типа 1,500,600.00 и так далее, кроме того надо еще расширить задачу, превращая 1500600 в 1.5 million т.е. словарная запись, можно такое реализовать БЕЗ привлечения питона и прочих языков? лишь sed \ awk \ cut \ tr \ printf ? В ответе надеюсь увидеть образец кода готового.