Я хочу вставить разделитель тысяч в числовую последовательность с помощью sed и этот уродливый RE sed -e :a -e 's/\(.*[0-9]\)\(\([0-9]\{3\}\)\(,[0-9]\{3\}\)*\(\.[0-9]*\)\)/\1,\2/;ta' [filename] .

Есть ли более элегантное решение?

================================================== =========

РЕДАКТИРОВАТЬ

Одна вещь, которую я пропустил только сейчас: число может иметь десятичную точку. Приведите пример:

123456.7890

Я хочу результат после разделения 123 456,7890

Спасибо и всего наилучшего.

1 ответ1

5

Он не использует sed, но вы можете попробовать что-то похожее на это:

echo "10000" | xargs printf "%'d\n"

Или решение с использованием sed здесь:

echo "2312341" | sed -r ':L;s=\b([0-9]+)([0-9]{3})\b=\1,\2=g;t L'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .