Warum so aufwendig?
Du willst nur die Leerzeichen wieder Herstellen - oder nicht?
Ich würde hier wie folgt vorgehen.
Suche NICHT Leerzeichen vor 3 Zahlen und einem Punkt => füge ein.
Code:
echo "340.12 356.32182.34 360.12
340.12 356.32 182.34 360.12
340.12 356.32182.34 360.12
340.12 356.3218 2.34 360.12
340.12 356.32 182.34 360.12
340.12 356.32 182.34 360.12
340.12 356.32182.34 360.12
340.12 356.32182.34 360.12
340.12 356.321 82.34 360.12
340.12 356.32182.34 360.12
" > /tmp/test.txt
perl -pi -e 's,(\S)([0-9]{3}\.)+,$1 $2,g' /tmp/test.txt
cat /tmp/test.txt
Edit: Die Regexp'e die oben verwendet sind viel zu gierig.
Lesezeichen