All Projects → kbrgl → fu

kbrgl / fu

Licence: ISC license
Unix's Find, Unleashed.

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to fu

Memfs
In-memory filesystem with Node's API
Stars: ✭ 854 (+2568.75%)
Mutual labels:  filesystem, fs
tabfs-specs
Specifications for the tabfs filesystem (osdev) | Mirror of https://codeark.it/Chalk-OS/tabfs-specs
Stars: ✭ 15 (-53.12%)
Mutual labels:  filesystem, fs
Fsq
A tool for querying the file system with a SQL-like language.
Stars: ✭ 60 (+87.5%)
Mutual labels:  filesystem, regex
rxnode
Rxnode - a small and fast wrapper around the nodejs API using RxJS.
Stars: ✭ 24 (-25%)
Mutual labels:  filesystem, fs
Draxt
draxt.js – NodeList/jQuery-like package for File System (node.js)
Stars: ✭ 192 (+500%)
Mutual labels:  filesystem, fs
Fdir
⚡ The fastest directory crawler & globbing library for NodeJS. Crawls 1m files in < 1s
Stars: ✭ 777 (+2328.13%)
Mutual labels:  filesystem, fs
Zbox
Zero-details, privacy-focused in-app file system.
Stars: ✭ 1,185 (+3603.13%)
Mutual labels:  filesystem, fs
Chonky
😸 A File Browser component for React.
Stars: ✭ 313 (+878.13%)
Mutual labels:  filesystem, fs
Nohost
A web server in your web browser
Stars: ✭ 164 (+412.5%)
Mutual labels:  filesystem, fs
Litfs
A FUSE file system in Go extended with persistent file storage
Stars: ✭ 116 (+262.5%)
Mutual labels:  filesystem, fs
Electron Filesystem
FileSystem for windows
Stars: ✭ 409 (+1178.13%)
Mutual labels:  filesystem, fs
dropbox-fs
📦 Node FS wrapper for Dropbox
Stars: ✭ 35 (+9.38%)
Mutual labels:  filesystem, fs
Filer
Node-like file system for browsers
Stars: ✭ 389 (+1115.63%)
Mutual labels:  filesystem, fs
Node Ntfs
Windows NT File System (NTFS) file system driver
Stars: ✭ 18 (-43.75%)
Mutual labels:  filesystem, fs
Fd
A simple, fast and user-friendly alternative to 'find'
Stars: ✭ 19,851 (+61934.38%)
Mutual labels:  filesystem, regex
Fast Glob
🚀 It's a very fast and efficient glob library for Node.js
Stars: ✭ 1,150 (+3493.75%)
Mutual labels:  filesystem, fs
mongoose-gridfs
mongoose gridfs on top of new gridfs api
Stars: ✭ 79 (+146.88%)
Mutual labels:  filesystem, fs
Tfs
Mirror of https://gitlab.redox-os.org/redox-os/tfs
Stars: ✭ 2,890 (+8931.25%)
Mutual labels:  filesystem, fs
Flint
Fast and configurable filesystem (file and directory names) linter
Stars: ✭ 115 (+259.38%)
Mutual labels:  filesystem, fs
FileRenamerDiff
A File Renamer App featuring a difference display before and after the change.
Stars: ✭ 32 (+0%)
Mutual labels:  filesystem, regex
______       ____
\ \ \ \     / __/_  __
 \ \ \ \   / /_/ / / /
 / / / /  / __/ /_/ /
/_/_/_/  /_/  \__,_/

Find Unleashed

Fu is an intuitive alternative to the Unix command find. It mainly searches filenames, but some meta-information like file mode is supported as well. It can walk directories in parallel, resulting in substantial speedups for directories with thousands of files.

Index

Installation

Homebrew

brew tap kbrgl/formulas
brew install fu

Or, if you want the latest version from git, run brew install with the --HEAD flag. This is equivalent to running go get, except you'll be able to upgrade through Homebrew.

go get

If you have Go installed, run

go get -u github.com/kbrgl/fu

If you don't, download the latest release and put it somewhere on your $PATH.

Platform support

Unix-based systems (macOS, Linux distros, *BSDs, etc.) are supported. Some features (like Unix permission filters) might not work on Windows.

Usage

usage: fu [<flags>] <query> [<paths>...]

Flags:
  -h, --help             Show context-sensitive help (also try --help-long and --help-man).
  -f, --fuzzy            Use fuzzy search
  -r, --regexp           Use regexp-based search
  -a, --suffix           Use suffix-based search (short flag 'a' is short for 'after')
  -b, --prefix           Use prefix-based search (short flag 'b' is short for 'before')
  -s, --substring        Use substring-based search allowing the query to be at any position in the filename
  -d, --dir              Show only directories
  -m, --perm=PERM        Filter by Unix permissions
  -c, --parallel         Walk directories in parallel, may result in substantial speedups for directories with many files
  -o, --older=OLDER      Filter by age (modification time)
  -y, --younger=YOUNGER  Filter by age (modification time)
  -e, --exclude          Excludes files matching the filters
  -v, --version          Show application version.

Args:
  <query>    Search query
  [<paths>]  Paths to search

Path is current working directory by default, and the program uses exact filename matching by default.

Examples

The general usage pattern of fu is:

fu [<search modifiers>...] <query> [<paths>...]

Where the search modifiers may be any of the options specified in the usage.

The only thing that's actually necessary is the query. By default,

fu <query>

Will search under the current directory for files with the name .

Find all dotfiles in the home folder

fu -b . ~

Find all Python scripts in current dir

fu -a .py

Find files in current dir whose names start and end with 'a'

fu -r "^a.*a\$"

Fuzzy matching

fu -f pkg

Fuzzy search is the algorithm that Sublime Text and Atom use in their Command Palettes. For an explanation, check out this Wikipedia article.

TODO

  • Write tests
  • Beautify TTY output
  • Remove -c flag and automatically switch between powerwalk and filepath Walk functions

PRs for these would be appreciated.

Contributing

Contributions are welcome. Just be sure to run go fmt and go vet on your code.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].