我想用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
它没有使用 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'