正则表达式 – 用sed划分一行中的数字

前端之家收集整理的这篇文章主要介绍了正则表达式 – 用sed划分一行中的数字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一条线:

CITY;+41119;-754831

我想将这两个数字除以10000得到这一行:

CITY;4.1119;-75.4831

我已经尝试了以下sed命令,但它没有做任何事,出了什么问题?

sed 's/(.*;.*)([0-9]{4};.*)([0-9]{4})/\1\.\2\.\3/g'

解决方法

awk是执行浮点运算的更好工具:

x='CITY;+41119;754831'
awk -F';' -v d=10000 '{print $1,($2/d),($3/d)}' OFS=';' <<< "$x"
CITY;4.1119;75.4831

猜你在找的正则表达式相关文章