我有一条线:
CITY;+41119;-754831
Run Code Online (Sandbox Code Playgroud)
我想将这两个数字除以10000得到这一行:
CITY;4.1119;-75.4831
Run Code Online (Sandbox Code Playgroud)
我已经尝试了以下sed命令,但它没有做任何事,出了什么问题?
sed 's/(.*;.*)([0-9]{4};.*)([0-9]{4})/\1\.\2\.\3/g'
Run Code Online (Sandbox Code Playgroud)
awk是更好的工具performing floating point arithmetic:
x='CITY;+41119;754831'
awk -F';' -v d=10000 '{print $1,($2/d),($3/d)}' OFS=';' <<< "$x"
CITY;4.1119;75.4831
Run Code Online (Sandbox Code Playgroud)