AishwaryaKulkarni AishwaryaKulkarni - 5 months ago 26
Bash Question

replace exact number in shell

I have following matrix:

0.380451 0.381955 0 0.237594
0.317293 0.362406 0 0.320301
0.261654 0.38797 0 0.350376
0 0 0 1
0 1 0 0
0 0 0 1
0 0.001504 0 0.998496
0.270677 0.35188 0.018045 0.359398
0.36391 0.305263 0 0.330827
0.359398 0.291729 0.037594 0.311278
0.359398 0.276692 0.061654 0.302256


And I want to replace only the zeros not the zeros followed by points to 0.001, how can I do that with sed or gsub?

Answer

Match whitespace in your replacement.

echo 0  0.001504    0   0.998496  | sed 's/0[\t ]/Z /g'