#n # print out type and attribute declarations that # are not inside require and optional blocks. /require \{/,/} # end require/b nextline /optional \{/,/} # end optional/b nextline /^[[:blank:]]*(attribute|type(alias)?) /{ s/^[[:blank:]]+// p } :nextline