Pouze sed a nic jiného
sed 's/ \+/,/g' ifile.txt > ofile.csv
cat ofile.csv
1,4,22.0,3.3,2.3
2,2,34.1,5.4,2.3
3,2,33.0,34.0,2.3
4,12,3.0,43.0,4.4
awk
tady to může být trochu přehnané. IMHO pomocí tr
pro přímé substituce, jako je tato, je mnohem jednodušší:
$ cat ifile.txt | tr -s '[:blank:]' ',' > ofile.txt