-listcards() {
- filterex='s;^([^\n]+)\n.*$;\1;p'
- printf '%s\n' "${_GET[filter]}" |tr '^' '\n' \
- | sed -r 's;[]\/\(\)\\\^\$\?\.\+\*\;\[\{\}];\\\\&;g' \
- | while read each; do
- case $each in
- name:*) expr='(FN|NICKNAME|N)(\;[^\n]+)*:[^\n]*'"(${each#*:})";;
- street:*) expr='ADR(\;[^\n]+)*:([^\;]*;){2}[^\;\n]*'"(${each#*:})";;
- zip:*) expr='ADR(\;[^\n]+)*:([^\;]*;){5}[^\;\n]*'"(${each#*:})";;
- any:*|:*) expr="[^\n]*"'(\;[^\n]+)*:[^\n]*'"(${each#*:})";;
- *:*) expr="${each%%:*}"'(\;[^\n]+)*:[^\n]*'"(${each#*:})";;
- *) expr="(${each})";;
- esac
- filterex='/(^|\n)'"${expr}"'/{'"${filterex}"'}'
- done
-
- for file in "${_DATA}/vcard/"*.vcf; do