2016-07-27 6 views
1

Итак, я запрашиваю, чтобы получить свое местоположение gps. Сценарий командной оболочки, как это:Добавление результата запроса из сценария оболочки в файл csv

curl -s http://whatismycountry.com/ | sed -n 's/.*Coordinates \(.*\)<.*/\1/p' 

Тогда, чтобы сохранить координаты в CSV-файл, я пишу:

curl -s http://whatismycountry.com/ | sed -n 's/.*Coordinates \(.*\)<.*/\1/p' | sed -e 's/.*\[\([^ ]*\) \([^]]*\)\].*/\1,\2/' > cordinates.csv 

, который дает мне CSV файл с координатами. the image of the .csv file pattern

Теперь запрос находится в бесконечном цикле, и намерение при каждом запросе должно сохранять новые координаты в следующем блоке ниже.

Something like this

Как написать регулярное выражение в части предыдущей команды для этого в сценарии?

Благодарим за помощь. Полностью noob в регулярном выражении.

ответ

0

Это не имеет никакого отношения к регулярному выражению. Вы должны использовать >> для добавления файла вместо >, который переписывает файл каждый раз.

Так что ваша команда будет

curl -s http://whatismycountry.com/ |\ 
sed -n 's/.*Coordinates \(.*\)<.*/\1/p' |\ 
sed -e 's/.*\[\([^ ]*\) \([^]]*\)\].*/\1,\2/' >> cordinates.csv 
+0

Спасибо .. Это был хороший улов .. Пропущенный это полностью .. Теперь она работает – user2649476