Это то, что я в итоге сделал, по сути, расширение аналогичного решения , опубликованного ранее Ф. Кнорром (обратите внимание, что размеры с маркерами единиц указаны в столбце 2 в моих данных):
resolveUnit(u,mul,x)=(pos=strstrt(x,u), pos > 0 ? sprintf("%f",real(substr(x,1,pos - 1))*mul) : x)
resolveUnits(x)=(resolveUnit("g",1024*1024*1024,resolveUnit("m",1024*1024,x)))
check(x)=(real(resolveUnits(x)))
plot infile using 1:(check(stringcolumn(2)))
Я уверен, что этот код можно значительно улучшить.Не стесняйтесь комментировать: -)
Я хотел бы взглянуть на адаптацию аккуратного подхода из этого решения AWK для поддержки других единиц, кроме m и g, но у него не будет времени начто.