From: Brian Inglis <Brian.Inglis@SystematicSw.ab.ca>
To: cygwin@cygwin.com
Subject: Re: Help with the prunepaths option with findutils updatedb locate
Date: Thu, 9 Dec 2021 09:12:24 -0700 [thread overview]
Message-ID: <d2161ef2-8471-62d2-43a9-1960c0196c53@SystematicSw.ab.ca> (raw)
In-Reply-To: <CAFWoy7F8Ss6wH3eF+F+aU86TFd-o_sv1KonuFx0FfoB8puKE7A@mail.gmail.com>
On 2021-12-09 07:16, Keith Christian wrote:
> 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.
> 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 numerous:
> 5. /cygdrive/c/Users/corporatedroid/OneDrive - FoobarCorp/
> 6. /home/c_users_corporatedroid/corporatedroid/OneDrive - FoobarCorp/
> 7. /cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/FoobarCorp/
> 8. With the one-liner below, we create a small locatedb file
> (/var/locatedb_prune_test) and specify that prunepaths omit the
> '/cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/ListSync'
> subdirectory:
> 10. F=/var/locatedb_prune_test; echo ; updatedb
> --localpaths='/cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive'
> --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
> 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:
> 15. F=/var/locatedb_prune_test;locate -d${F} 'ListSync'|cat -n|tail -3
> 16. 33 /cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/logs/ListSync/Business1/Nucleus-2021-12-09.1317.15440.1.odl
> 17. 34 /cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/logs/ListSync/Business1/microsoftNucleusTelemetryCache.otc
> 18. 35 /cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/logs/ListSync/Business1/telemetry-dll-ramp-value.txt
> Any ideas appreciated.
Search:
https://www.mail-archive.com/search?l=cygwin%40cygwin.com&q=updatedb
e.g.
https://www.mail-archive.com/cygwin@cygwin.com/msg146142.html
for operational hints.
For info:
$ info updatedb
/--prunepaths=
$ info -- find -regex
The option --prunepaths takes an argument containing a space separated
list of find ... -regex (Basic) REs which match *complete* directory
paths to prune from: if absolute, these start with / and end without
one; try an argument list where USER=corporatedroid and CORP=FoobarCorp
like for example:
"/.*[Uu]sers.*$USER.*OneDrive.* /.*[Uu]sers.*$USER.*$CORP.*
/.*[Uu]sers.*$USER.*ListSync.* /[^[:space:]]*"
or even:
"/.*[Uu]sers.*$USER.*\(OneDrive\|$CORP\|ListSync\).* /[^[:space:]]*"
You may want to be sure those directories are mounted as --localpaths
rather than --netpaths which have additional requirements:
$ cat /proc/filesystems
vfat
exfat
ntfs
refs
nodev smbfs
nodev nfs
nodev netapp
iso9660
udf
nodev csc-cache
nodev unixfs
nodev mvfs
nodev cifs
nodev nwfs
nodev ncfsd
nodev afs
nodev prlfs
$ mount
C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,noumount,auto)
...
[Please don't post with extra spaces, step nos (use text refs instead),
or long command lines, as many devs and some users read with mono fonts
and short wrap margins e.g 72, 80.
You could use updatedb env vars instead of options for readability.]
--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]
next prev parent reply other threads:[~2021-12-09 16:12 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-09 14:16 Keith Christian
2021-12-09 16:12 ` Brian Inglis [this message]
2021-12-10 13:04 ` Keith Christian
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d2161ef2-8471-62d2-43a9-1960c0196c53@SystematicSw.ab.ca \
--to=brian.inglis@systematicsw.ab.ca \
--cc=cygwin@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).