Findy!
The handy little cli utility for finding lost files by name.
- Find in subdirectories
- Regex filepath pattern matching
- Clickable file links from CLI
- Files listed by modified date (newest last)
- Auto-Ignore
node_modules
and.git
dirs - Friendly date-time output
See Findy in action: Youtube
Sidenote: To find files by contents, forget grep, use ack
Installation
yarn install findy -g
Search Examples
Find All Local
Find all files in the current directory containing the word yarn
anywhere in the name:
findy '*yarn*'
Find By Extension
Find all .env
and .log
files in the current directory:
findy '*.env' '*.log'
Find Recursive
Find all .env
files recursively:
findy '**/*.env'
Negation
Important: negation requires the use of single-quotes around the search phrase, unless used in an array (see: negative in array).
Find all Markdown files recursively, that are not named README.md
:
findy '**/*.md' '!**/README.md'
Searching with Sudo
Searching through some files and directories may require elevated permission. Where you see: 'Unhandled rejection Error: EACCES: permission denied', you can use sudo
.
Seach for files with elevated permission:
sudo findy '**/*.md'
Current Dir
Important: Findy will still search recursively, but will only show results that match the current directory.
Find any README.md
file in the current directory:
findy 'README.md'
Containing Word Recursive
To recusively find any .txt
file containing the the word notes
:
findy '**/*notes*.txt'
Starting with word
To recusrively find any file starting with the the word notes
:
findy '**/notes*'
Ending with word
To recusrively find any file ending with the the word notes
:
findy '**/*notes.*'
Find This-or-That
To find a Markdown file containing either notes
or tasks
:
findy '**/*{notes,tasks}*.md'
Negative In Array
To find a anything in the current directory, with foo
but not bar
:
findy '*{foo,!bar}*'