![如何使用“sed”插入千位分隔符?](https://linux22.com/image/1305585/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E2%80%9Csed%E2%80%9D%E6%8F%92%E5%85%A5%E5%8D%83%E4%BD%8D%E5%88%86%E9%9A%94%E7%AC%A6%EF%BC%9F.png)
我想用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'