Help with the prunepaths option with findutils updatedb locate

Keith Christian
Thu Dec 9 14:16:24 GMT 2021

Fellow Cygwin fans,

I'm trying to keep the many directories with "OneDrive" in the
pathname out of the locatedb file, as I don't care to see them in
locate's output, nor bloat the locatedb file.

I'd appreciate any insight into the prunepaths option for the test
case below, (Line 10,) and how to tell prunepaths to ignore paths with
spaces so that the paths in Lines 5 and 6 below will not be included
in the locatedb file.

     1.   Versions:
     2.   updatedb (GNU findutils) 4.8.0
     3.   CYGWIN_NT-10.0  3.2.0(0.340/5/3) 2021-03-29 08:42 x86_64 Cygwin

     4.   Unfortunately, on this Windows 10 PC there are 650 unique
directory paths with "OneDrive" in them, and these three are the most
     5.             /cygdrive/c/Users/corporatedroid/OneDrive - FoobarCorp/
/home/c_users_corporatedroid/corporatedroid/OneDrive - FoobarCorp/

     8.   With the one-liner below, we create a small locatedb file
(/var/locatedb_prune_test) and specify that prunepaths omit the
     9.   ==================================
    10.       F=/var/locatedb_prune_test; echo ; updatedb
--output=${F} --prunepaths='/cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/ListSync'
; ls -l ${F}

    11.           -rw-r--r-- 1 corporatedroid Domain Users 26280 Dec
9 06:22 /var/locatedb_prune_test
    12.   ==================================

    13.   Here, we see that the path ending with 'ListSync'
incorrectly appears in the /var/locatedb_prune_test output despite the
prunepaths option in line 10:
    14.   ==================================
    15.       F=/var/locatedb_prune_test;locate -d${F} 'ListSync'|cat -n|tail -3
    16.           33
    17.           34
    18.           35
    19.   ==================================

Any ideas appreciated.

More information about the Cygwin mailing list