Hanya sed dan tidak ada yang lain
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
mungkin sedikit berlebihan di sini. IMHO, menggunakan tr
untuk penggantian langsung seperti ini jauh lebih sederhana:
$ cat ifile.txt | tr -s '[:blank:]' ',' > ofile.txt