Часто требуется составить список карт из некоторого проекта GRASS, выбранных по определенному условию, которому должны удовлетворять названия карт. Этот список впоследствии может использоваться в пакетных командах обработки (например, отобразить на экране все карты из списка, считать информацию с карт в заданной точке и т.д.).
Пусть, например, нужно выбрать растровые карты, названия которых оканчиваются на единицу. Составить подобный список можно несколькими способами:
а) Можно это сделать используя стандартные циклы shell:
Код: Выделить всё
GRASS> names=""; for rastr in $(g.mlist type=rast pattern=*1); do names=$(echo $names,$rastr); done
б) Можно создать конвеер из команд обработки текста (например, для того, чтобы отсортировать названия):
Код: Выделить всё
GRASS> names=`g.mlist type=rast pat="*1" | sort | tr '\n' ','| sed 's+,$++g'`
g.mlist
man sort
man tr
man sed