В awk
:
awk -F: '/Exported Layer/ { export_layer = $2 }
/Total Polygons/ { printf("%s : %s\n", export_layer, $2); }' "$@"
Если ввод является мусором, вывод тоже будет (GIGO). Если поля могут содержать двоеточия, жизнь становится более грязной.
В sed
:
sed -n -e '/Exported Layer : *\(.*\)/{s//\1 : /;h;}' \
-e '/Total Polygons : *\(.*\)/{s//\1/;x;G;s/\n//;p;}' "$@"
Двоеточия в полях не являются проблемой для этой sed
версии.
Теперь протестировано на MacOS X 10.6.7. Оба сценария включают комментарий после числа в строке «Всего полигонов». Оба сценария могут быть легко пересмотрены, чтобы печатать только номер и игнорировать комментарий. Это помогло бы получить точное определение всех возможностей формата.
Я бы, вероятно, использовал Perl (или Python) для этой работы; разделение полей достаточно грязное, чтобы воспользоваться лучшими возможностями в этих языках.