Linux bash scritp替换文件中的字符串并多次执行程序

时间:2017-07-26 19:52:58

标签: linux bash

我有一个程序需要两个文件作为输入,每次执行它需要10分钟。我需要执行该程序500次,但在每次执行之前,我需要更改两个输入文件中每个文本的一部分。

例如,我有一个包含以下文件的目录:a_1,a_2,...,a_499,a_500,input1.dat和input2.dat。我需要一个bash脚本,以便在执行此脚本时

1)字符串“a_1”(我目录中第一个文件的名称)在两个输入文件中都被字符串“a_2”(目录中的第二个文件)替换:input1.dat和input2.dat。

2)我的程序执行为:myprogram -i input1.dat (之所以只显示input1.dat是因为它调用了input2.dat)

3)当执行结束时,两个输入文件中的字符串“a_2”将替换为“a_3”。

4)我的程序再次执行

我需要对目录中的所有文件执行此操作(直到“a_499”替换为“a_500”并且程序最后一次执行),而不更改两个输入文件的名称

我是bash的新手,所以这是我无法接触的,但如果有人能帮助我,那将节省我很多时间。

1 个答案:

答案 0 :(得分:0)

我假设您希望尽快与$xml = new SimpleXMLElement(file_get_contents("https://maps.googleapis.com/maps/api/geocode/xml?&key=&address=CV59JT&language=en-EN&sensor=false")); $address = $xml->result->formatted_address; $lat = $xml->geometry->lat; $lng = $xml->geometry->lng; 一起运行,即使您的描述中并不清楚。下面的脚本可以解决问题,应该很容易理解。

<?xml version="1.0" encoding="UTF-8"?>
<GeocodeResponse>
<status>OK</status>
<result>
<type>postal_code</type>
<formatted_address>The Jordans, Coventry CV5 9JT, UK</formatted_address>
<address_component>
<long_name>CV5 9JT</long_name>
<short_name>CV5 9JT</short_name>
<type>postal_code</type>
</address_component>
<address_component>
<long_name>The Jordans</long_name>
<short_name>The Jordans</short_name>
<type>route</type>
</address_component>
<address_component>
<long_name>Coventry</long_name>
<short_name>Coventry</short_name>
<type>postal_town</type>
</address_component>
<address_component>
<long_name>West Midlands</long_name>
<short_name>West Midlands</short_name>
<type>administrative_area_level_2</type>
<type>political</type>
</address_component>
<address_component>
<long_name>England</long_name>
<short_name>England</short_name>
<type>administrative_area_level_1</type>
<type>political</type>
</address_component>
<address_component>
<long_name>United Kingdom</long_name>
<short_name>GB</short_name>
<type>country</type>
<type>political</type>
</address_component>
<geometry>
<location>
<lat>52.4141128</lat>
<lng>-1.5580964</lng>
</location>
<location_type>APPROXIMATE</location_type>
<viewport>
<southwest>
<lat>52.4127592</lat>
<lng>-1.5598679</lng>
</southwest>
<northeast>
<lat>52.4154571</lat>
<lng>-1.5571700</lng>
</northeast>
</viewport>
<bounds>
<southwest>
<lat>52.4137181</lat>
<lng>-1.5593655</lng>
</southwest>
<northeast>
<lat>52.4144982</lat>
<lng>-1.5576724</lng>
</northeast>
</bounds>
</geometry>
<place_id>ChIJ5YQ9ljhLd0gR6sZ-dOK8tNI</place_id>
</result>
</GeocodeResponse>