SED убрать пробелы только в числах, а не в строках - PullRequest
1 голос
/ 17 января 2012

образец строки

1 123 456 капель воды

Есть ли способы убрать разделитель тысяч пространства с помощью SED? в результате

Есть 1123456 капель воды

Найти шаблон было не сложно но я не могу найти как убрать пробел

sed s / [0-9] '' [0-9] / ??? /

Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 17 января 2012
sed 's/\([0-9]\) \([0-9]\)/\1\2/g'
0 голосов
/ 17 января 2012

Это тоже должно работать -

perl -pe 's/(?<=[0-9])(\s)(?=[0-9])//g'

Мы используем отрицательный взгляд позади и смотрим в будущее, где мы ищем числа в обоих случаях.Если мы найдем пространство между ними, мы заменим ничем.

[jaypal:~] echo "There are 1 123 456 drops of water" | perl -pe 's/(?<=[0-9])(\s)(?=[0-9])//g'
There are 1123456 drops of water
...