Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 将度坐标转换为十进制_Linux_Bash_Unix_Coordinates - Fatal编程技术网

Linux 将度坐标转换为十进制

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

我有两个文本文件,其中包含以下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
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
和您的答案…