]> git.plutz.net Git - confetti/commitdiff
Bugfix: avoid search hits in subsequent fields
authorPaul Hänsch <paul@plutz.net>
Mon, 18 Jan 2021 12:30:45 +0000 (13:30 +0100)
committerPaul Hänsch <paul@plutz.net>
Mon, 18 Jan 2021 12:30:45 +0000 (13:30 +0100)
cards/list.sh

index 74ad0200f45f6e96b57dbd65c9862003b2450144..8b9cd06dd3f0dfe3f187c251dea6d1791d8701b5 100755 (executable)
@@ -128,21 +128,23 @@ filter_cards(){
             | sed -E 's;[]\/\(\)\\\$\?\.\+\*\;\[\{\}];\\\\&;g;
                       '"$upcase"
            )^"
+  debug "FILTER: $filter"
 
   while [ "$filter" ]; do
     f="${filter%%^*}" filter="${filter#*^}"
     case $f in
       '') break
         ;;
-      ANY:*) fex="/\n.*(\;[^:]*)?:.*(${f#*:}).*\r?\n/{${fex}}"
+      ANY:*) fex="/\n.*(\;[^:]*)?:[^\n]*(${f#*:})[^\n]*\r?\n/{${fex}}"
         ;;
-      NAME:*) fex="/\n(N|FN|NICKNAME)(\;[^:]*)?:.*(${f#*:}).*\r?\n/{${fex}}"
+      NAME:*) fex="/\n(N|FN|NICKNAME)(\;[^:]*)?:[^\n]*(${f#*:})[^\n]*\r?\n/{${fex}}"
         ;;
-      STREET:*|ZIP:*) fex="/\nADR(\;[^:]*)?:.*(${f#*:}).*\r?\n/{${fex}}"
+      STREET:*|ZIP:*) fex="/\nADR(\;[^:]*)?:[^\n]*(${f#*:})[^\n]*\r?\n/{${fex}}"
         ;;
-      *) fex="/\n${f%%:*}(\;[^:]*)?:.*(${f#*:}).*\r?\n/{${fex}}"
+      *) fex="/\n${f%%:*}(\;[^:]*)?:[^\n]*(${f#*:})[^\n]*\r?\n/{${fex}}"
         ;;
     esac
+    debug "FEX: $fex"
   done
 
   for cardfile in "${_DATA}"/vcard/*.vcf; do