]> git.plutz.net Git - serve0/commitdiff
use grep for fast file search
authorPaul Hänsch <paul@plutz.net>
Tue, 16 Nov 2021 12:52:55 +0000 (13:52 +0100)
committerPaul Hänsch <paul@plutz.net>
Tue, 16 Nov 2021 12:52:55 +0000 (13:52 +0100)
db_meta.sh

index e78bcc51dcb11ab7a9446390661cb9f5da4400c0..0521ed9d44c6a3f56994fcb2948ece452c582f69 100755 (executable)
@@ -15,7 +15,7 @@ LOCAL_META='local \
   META_LENGTH META_WIDTH META_HEIGHT META_TAGS META_COMMENT META_NAME
 '
 
-eval "$UNSET_VIDEO"
+eval "$UNSET_META"
 
 read_meta() {
   local name="$1" meta_db="$_DATA/.index/meta"
@@ -31,10 +31,9 @@ read_meta() {
   if [ $# -eq 0 ]; then
     read -r META_LENGTH META_WIDTH META_HEIGHT META_TAGS META_COMMENT META_NAME
   elif [ "$name" -a -f "$meta_db" -a -r "$meta_db" ]; then
-    while read -r META_LENGTH META_WIDTH META_HEIGHT META_TAGS META_COMMENT META_NAME; do
-      [ "${META_NAME%${CR}}" = "$name" ] && break
-    done <"${meta_db}"
-    [ "${META_NAME%${CR}}" = "$name" ] || eval "$UNSET_META"
+    read -r META_LENGTH META_WIDTH META_HEIGHT META_TAGS META_COMMENT META_NAME <<-EOF
+       $(grep -F "     ${name}${CR}" "$meta_db")
+       EOF
   fi
   if [ "$META_NAME" ]; then
        META_NAME="$(UNSTRING "${META_NAME%${CR}}")"