<code>lspace-scan</code>
Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.
Syntax: lspace-scan ?options? /path/to/scan-database @ path...

This application scans a set of paths and recursively enumerates all files it finds in any directory hierarchy.

Note: Using the special path @ causes the application to read the paths to scan from standard input.

It checks the enumerated files against a database holding the state from the previous scan and prints a stream of paths and their uuids which contains only the paths which are new or changed since the last scan.

The state database is updated as part of the operation.

The available options and their effects are:

  • -q, --quiet

    Normally the application prints progress reports to standard error. This is disabled with use of these options.

  • -f, --force

    Using these options causes the application to not check for changes and simply print all paths with their uuid. In that mode the database is not updated eiter.

  • -x pattern, --exclude pattern

    Any path matching any of the regex patterns specified via one or more of these options is excluded from the output, before checking for changes and the like.

lspace-scan-state

Syntax: lspace-scan-state ?options? ?/path/to/scan-database?

This application prints the current state of the scan database.

The available options and their effects are:

  • -t, --time
  • -i, --id
  • -u, --uuid

    Print the state sorted by modification time, row id, or file uuid. By default the state is printed sorted by path name.

  • -r, --reverse

    Print the state in reverse order, per the chosen sort column, see above.

  • -n N, --limit N

    Print only N elements of the state.

Scan database

If the scan database is specified as the empty string, or as - then the environment variable [LSPACE_SCAN](ev.md) is consulted. If this environment variable does not exist, or is empty, then the default scan database at $HOME/.local/lspace/scan.sqlite is used.