substitute commas with pipe

Hi All,

I have a file that contain value below:

test,mno,mno, +asc
mno,lok,msyu,tts
test,poi,test,0,90, 3,00

i need to substitute the comma's into pipe where i used the command below

:s/,/|/g

then it change to below:

test|mnb|mno| +asc
mno|lok|msyu|tts
test|poi|test|0|90| 3|00

my objective is to change all the commas to pipe but for the 0|90 and 3|00 i want it to maintain the comma's which is 0,90 and 3,00?So any suggestion?

This close to what you're after ?

#  sed 's/\([^0-9]\),\([^0-9]\)/\1|\2/g' infile
test|mno|mno| +asc
mno|lok|msyu|tts
test|poi|test,0,90, 3,00 

an alternative for different layout:

#  sed -e 's/,/|/g' -e 's/\([0-9]\)|\([0-9]\)/\1,\2/g' infile
test|mno|mno| +asc
mno|lok|msyu|tts
test|poi|test|0,90| 3,00