Linux 将度坐标转换为十进制
我有两个文本文件,其中包含以下lat/lon(度)坐标: Lats:Linux 将度坐标转换为十进制,linux,bash,unix,coordinates,Linux,Bash,Unix,Coordinates,我有两个文本文件,其中包含以下lat/lon(度)坐标: Lats: 161N 168N 174N 182N 190N 198N 203N 207N 210N 213N 216N 220N 222N 224N 609W 636W 663W 692W 720W 747W 768W 790W 808W 827W 845W 865W 882W 899W Lons: 161N 168N 174N 182N 190N 198N 203N 207N 210N 213N 216N 220N 222N 22
161N
168N
174N
182N
190N
198N
203N
207N
210N
213N
216N
220N
222N
224N
609W
636W
663W
692W
720W
747W
768W
790W
808W
827W
845W
865W
882W
899W
Lons:
161N
168N
174N
182N
190N
198N
203N
207N
210N
213N
216N
220N
222N
224N
609W
636W
663W
692W
720W
747W
768W
790W
808W
827W
845W
865W
882W
899W
我需要把这些度坐标转换成十进制格式
例:
161N
16.1N
609W
-60.9W
等等。您可以使用sed
sed "s/\([0-9][ENSW]\)$/.\1/" file.txt
这使用正则表达式将字符串中的最后一个数字与最后一个字母E、N、S或W分组,并在其前面插入句点。我通过以下操作获得了所需的结果:
sed -i 's/.$//' ${model}_lats_tmp
sed -i 's/.$//' ${model}_lons_tmp
awk '{print $1/10}' ${model}_lats_tmp > ${model}_lats_new
awk '{print $1/10}' ${model}_lons_tmp > ${model}_lons_new
解释正在发生的事情将有助于OP(和其他人)理解
sed
和您的答案…