#recursion #directory #scan #list #cli #file

app scout-seeker

scout-seeker is a simple Rust CLI to scan a directory to list files, recursively

1 unstable release

0.2.11 Jul 25, 2024

#506 in Filesystem

37 downloads per month

MIT license

135KB
144 lines

scout-seeker

Banner with large array and scout-seeker title

rust tests

scout-seeker is a simple Rust CLI to scan a directory to list files, recursively.

Download

You can download scout-seeker from the releases page.

Usage

You have to pass the directory to scan as an argument.

Optional arguments:

  • -o or --output: to specify the output file, by default it will be ./output.json.
  • -v or --verbose: to display more information in the terminal.
  • -p or --print: to print the output in the terminal (this will disable the output file and verbose).
scout-seeker /path/to/directory -o=/path/to/output.json -v

You will have an output, like this:

Directory: /path/to/directory
Date: "2024-04-28 10:07:12.081879 +02:00"
Time in seconds: 3.123456
Total files: 1234
Output file: /path/to/output.json

And an output file, like this:

{
  "path": "/path/to/directory",
  "date": "2024-04-28 10:07:12.081879 +02:00",
  "time_seconds": "3.123456",
  "total_files": 1234,
  "files": ["/path/to/directory/file1.txt", "/path/to/directory/file2.txt"]
}

Print

If you want to print the output in the terminal, you can use the -p or --print argument.

scout-seeker /path/to/directory -p

You will have an output, like this:

tests/data/file-3.md
tests/data/file-2.md
tests/data/file.jpg
tests/data/file.mkv
tests/data/file-1.md
tests/data/nested/file-nested-2.md
tests/data/nested/file-nested-1.md

Files excluded

  • Files with dots at the beginning of their names, like .gitignore.
  • Files into directories with dots at the beginning of their names, like .git/HEAD.

Build

Clone repository:

git clone https://github.com/ewilan-riviere/scout-seeker.git
cd scout-seeker

To build, you have to install Rust, you can follow this guide.

cargo build
cargo run /path/to/directory

Release

Build the release version:

cargo build --release

Put the binary in your path:

cp target/release/scout-seeker /usr/local/bin

Tests

To run the tests.

cargo test

License

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

~3–11MB
~116K SLoC