Bash 如何将lat long从文件输入程序注释行
我有一个程序,要运行该程序,我必须给出终端的纬度和经度,如下所示:Bash 如何将lat long从文件输入程序注释行,bash,shell,Bash,Shell,我有一个程序,要运行该程序,我必须给出终端的纬度和经度,如下所示: -7.4201 41 -7.3201 46 -7.4201 43 -7.2201 45 -7.8201 47 -7.7201 43 $access\u litho-p lat long 我将所有lat long存储在一个文件中,如下所示: -7.4201 41 -7.3201 46 -7.4201 43 -7.2201 45 -7.8201 47 -7.7201 43 我尝试了以下代码: #/垃圾箱/垃圾箱 访问_lith
-7.4201 41
-7.3201 46
-7.4201 43
-7.2201 45
-7.8201 47
-7.7201 43
$access\u litho-p lat long
我将所有lat long存储在一个文件中,如下所示:
-7.4201 41
-7.3201 46
-7.4201 43
-7.2201 45
-7.8201 47
-7.7201 43
我尝试了以下代码:
#/垃圾箱/垃圾箱
访问_litho-p input_file.txt您可以这样做:
#/垃圾箱/垃圾箱
读lat-lon时;做
访问岩性-p“$lat”$lon”;
完成
我们使用while
循环,使用read
命令、lat
和lon
从标准输入读取2个输入。read
命令足够智能,可以识别一行上的两个输入,因为它们由空格分隔
然后,对于每个read
操作,我们执行access\u litho-p“$lat”“$lon”
为了让脚本读取您的输入,我们在循环结束时传递文件名,使用您可以这样做:
#/垃圾箱/垃圾箱
读lat-lon时;做
访问岩性-p“$lat”$lon”;
完成
我们使用while
循环,使用read
命令、lat
和lon
从标准输入读取2个输入。read
命令足够智能,可以识别一行上的两个输入,因为它们由空格分隔
然后,对于每个read
操作,我们执行access\u litho-p“$lat”“$lon”
为了让脚本读取您的输入,我们在while
循环的末尾传递文件名,使用while read-r lat lon | |[-n“$lon”];访问_litho-p“$lat”$lon”;完成
@DavidC.Rankin您能解释一下code@rehman请参阅以了解while read循环是如何工作的。@DavidC.Rankin,|[-n“$lon”]
用于什么?以处理没有'\n'
字符的非POSIX文件结尾。如果您只是简单地使用,while read-r line do
在这种情况下,您将跳过最后一行数据,因为看不到'\n'
。lat
和lon
变量将被填充,因此通过添加检查[-n“$lon”]
您正在测试lon
,在这种情况下,列表中的最后一个变量被填充(这确保所有先前的变量,例如lat
也被填充);访问_litho-p“$lat”$lon”;完成
@DavidC.Rankin您能解释一下code@rehman请参阅以了解while read循环是如何工作的。@DavidC.Rankin,|[-n“$lon”]
用于什么?以处理没有'\n'
字符的非POSIX文件结尾。如果您只是简单地使用,while read-r line do
在这种情况下,您将跳过最后一行数据,因为看不到'\n'
。lat
和lon
变量将已填充,因此通过添加检查[-n“$lon”]
您正在测试lon
,列表中的最后一个变量已填充(这确保所有先前的变量,例如lat
也已填充)在这种情况下,如何在执行非常长的时间后在输出文件中插入空行您可以只添加echo”“>>文件名
如何在执行非常长的时间后在输出文件中插入空行您可以只添加echo”“>>文件名