Skip to main content

fdir

PyPI - Downloads Latest Release GitHub Repo stars GitHub License

fdir is a program for finding and organizing anything on your system. It is a simple and user-friendly way to find the files that you need and do something with them.

Installation • Usage

Demo

Features

  • Intuitive syntax: Use operations like size or modified instead of complex flags.
  • Logical operators: Combine searches with and or or.
  • Deep search: Traverse directories recursively.
  • Batch processing: Convert file types or delete results directly from the search.
  • Visual feedback: Heatmap coloring for file sizes and highlighting for matched patterns.
  • Smart navigation: Includes hyperlinks to open matching files directly from the terminal.

Usage

You can get a list of all the commands by running fdir --help.

Searching by name

fdir provides specific flags to match filenames. You can search for a keyword anywhere in the name, or specify if the name starts or ends with a pattern:

fdir name --keyword report
fdir name --swith 2023_

Additionally, you can enable fuzzy (typo-tolerant) search using the --fuzzy flag:

fdir name --keyword reprot --fuzzy

Searching for a particular file extension

Use the type operation to find files with a specific extension (including the dot):

fdir type --eq .py

Filtering by modification time

You can filter files based on how long ago they were modified using units like h (hours), d (days), w (weeks), m (months), and y (years):

fdir modified --lt 1w

Searching by keywords inside files

You can even look inside files for keywords using the content operation:

fdir content --keyword main

[!NOTE] Only supported for textual files.

Searching for hidden files

fdir doesn't show hidden files by default. To show them, add the --hidden flag.

[!NOTE] This only shows files that weren't hidden using a .fdirignore file.

Logical operators

Unlike many search tools, fdir allows you to combine two different operations using and or or:

fdir modified --gt 1y or size --gt 1gb

Command execution

Instead of just listing files, you can execute another command for every result found using the --exec flag:

fdir type --eq .jpg --exec echo Hi! '{}'

File deletion

You can delete all the matching files using the --del flag:

fdir size --gt 1gb --del

File conversion

The type operation allows you to rename and convert the extensions of all matching files using the --convert flag:

fdir type --eq .wav --convert .mp3

Customizing output

Print order

You can sort the matching files using the --order flag:

fdir modified --gt 1y --order modified a

Column order

You can reorder the output columns using the --columns flag with n (name), d (date), and s (size):

fdir all --columns nsd

No color output

If you don't want the colored output enabled by default, you can use the --nocolor flag:

fdir all --nocolor

Excluding files

You can create a .fdirignore file in the directory you're running fdir from to exclude certain file names, directories, or extensions. They're like .gitignore files, but used by fdir.

Recursive search

By default, fdir doesn't search recursively. To enable that, you can use the --deep flag:

fdir all --deep

Options

Here are all fdir's options (this is the output of fdir --help):

usage: fdir [-h] [--deep] [--top NUMBER] [--fuzzy] [--case] [--order FIELD DIR] [--columns COLUMNS] [--del]
            [--convert EXTENSION] [--nocolor] [--exec ...] [--hidden]
            {modified,size,name,type,content,all,version} ...

positional arguments:
  {modified,size,name,type,content,all,version}
    modified            Filter by date
    size                Filter by size
    name                Filter by name
    type                Filter by extension
    content             Search inside file content
    all                 List all files
    version             Show version

options:
  -h, --help            show this help message and exit
  --deep                Search recursively
  --top NUMBER          Show only first N results
  --fuzzy               Search approximately
  --case                Case-sensitive search
  --order FIELD DIR     Sort: <name|size|modified> <a|d>
  --columns COLUMNS     Column order (e.g., nds)
  --del                 Delete matches
  --convert EXTENSION   Convert to new extension
  --nocolor             Disable colors
  --exec ...            Execute command (use {} for path)
  --hidden              Show hidden files in search

Installation

pip

pip install fdir-cli

Release files for fdir-cli 3.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fdir-cli 3.3.1
File Size Uploaded
fdir_cli-3.3.1.tar.gz 8.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fdir-cli 3.3.1
File Interpreter ABI Platform
fdir_cli-3.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 17.6 kB

Release files / fdir_cli-3.3.1.tar.gz

Download URL fdir_cli-3.3.1.tar.gz
Size 8.8 kB
Tags Source
SHA-256 checksum
How to use checksums
face7e7f186c5387b176a863182d07dfbada59b5f8047f725298d772df0acd65
BLAKE2b-256 checksum
How to use checksums
bee1ab7733ce8bac23845efd76fa659acbd442b0df0b08da54d62f4c88f56820
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 27, 2026.

Transparency log

Release files / fdir_cli-3.3.1-py3-none-any.whl

Download URL fdir_cli-3.3.1-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f53c6c5df56ade926b440b047694acca04554ff162d6812971ffd652a30c5e5c
BLAKE2b-256 checksum
How to use checksums
eb40ecb63684271adece846a8bf796d593379823a15fea7762dd5e70fbc391e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.3.1 This release

2 release files

3.3.0

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page