[GRASS/Советы] Составление списка карт по условию

Ответить
KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Статьи: 18
Проекты: 4
Репутация: 123
Откуда: Казань

[GRASS/Советы] Составление списка карт по условию

Сообщение KolesovDmitry » 04 сен 2008, 11:28

Составление списка карт по условию.
Часто требуется составить список карт из некоторого проекта GRASS, выбранных по определенному условию, которому должны удовлетворять названия карт. Этот список впоследствии может использоваться в пакетных командах обработки (например, отобразить на экране все карты из списка, считать информацию с карт в заданной точке и т.д.).
Пусть, например, нужно выбрать растровые карты, названия которых оканчиваются на единицу. Составить подобный список можно несколькими способами:

а) Можно это сделать используя стандартные циклы shell:

Код: Выделить всё

GRASS> names=""; for rastr in $(g.mlist type=rast pattern=*1); do  names=$(echo $names,$rastr); done
В результате в переменной names будут лежать названия карт, разделенные запятыми.

б) Можно создать конвеер из команд обработки текста (например, для того, чтобы отсортировать названия):

Код: Выделить всё

GRASS> names=`g.mlist type=rast pat="*1" | sort | tr '\n' ','| sed 's+,$++g'`
Подробнее см.
g.mlist
man sort
man tr
man sed

Ответить

Вернуться в «GRASS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя