Convert .txt to .csv in shell
Only sed and nothing else
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
may be a bit of an overkill here. IMHO, using tr
for straight-forward substitutions like this is much simpler:
$ cat ifile.txt | tr -s '[:blank:]' ',' > ofile.txt