The idea is to get a quick overview of a new codebase to assess the project size, history and scope.
git clone https://github.com/Z-F-x/dirstat-project-size.git
cd dirstat-project-size
sudo cp dirstat-project-size /usr/bin
-h
, --help
Display this help message
--no-color
Disable colorized output
--toggle-ascii
Use ASCII instead of Unicode blocks
--only-bar-color
Color only bars, not text
--exclude=pattern
Exclude paths containing pattern
--sort-descending
Sort by count descending (default)
--sort-ascending
Sort by count ascending
--sort-alpha-asc
Sort alphabetically A-Z
--sort-alpha-desc
Sort alphabetically Z-A
--sort-num-asc
Sort numerically ascending
--sort-num-desc
Sort numerically descending
--sort-natural-asc
Sort with natural ordering ascending
--sort-natural-desc
Sort with natural ordering descending
--case-sensitive
Make alphabetical sorting case-sensitive
-
dirstat-project-size /path/to/project
Runs the program in the specified directory (e.g., /path/to/project), analyzing all files and subdirectories within it. Provides a breakdown of file types, counts, and project statistics for that specific location instead of the current directory. -
dirstat-project-size --exclude=node_modules --exclude=.git
Excludes specific folders or files matching the given patterns (e.g., node_modules and .git) from the analysis. Skips these paths entirely, ensuring the statistics focus only on relevant project files and not dependencies or version control data. -
dirstat-project-size --toggle-ascii
Uses ASCII characters (# for filled, - for empty) instead of Unicode blocks (█ and ▒) for the bar chart display. Simplifies the output for terminals that don’t support Unicode or for a more minimalist presentation. -
dirstat-project-size --only-bar-color
Applies color only to the percentage bars in the output, leaving all other text (headers, counts, etc.) in plain format. Keeps the visual emphasis on the bars while maintaining readable, uncolored text elsewhere.
-
dirstat-project-size /path/to/project --sort-alpha-asc
Sorts the list of file extensions alphabetically from A to Z (e.g., .c before .py). Organizes the output in a familiar, dictionary-like order based on extension names, making it easy to locate specific file types. -
dirstat-project-size /path/to/project --sort-alpha-desc
Sorts the list of file extensions alphabetically from Z to A (e.g., .py before .c). Reverses the alphabetical order, placing extensions starting with later letters at the top of the table. -
dirstat-project-size /path/to/project --sort-ascending
Sorts the list of file extensions by count in ascending order (smallest to largest, e.g., 1 file before 10 files). Highlights less common file types first, with more frequent ones appearing lower in the table. -
dirstat-project-size /path/to/project --sort-descending
Sorts the list of file extensions by count in descending order (largest to smallest, e.g., 10 files before 1 file). Prioritizes the most common file types at the top (default behavior), emphasizing the project’s dominant file categories. -
dirstat-project-size /path/to/project --sort-num-asc
Sorts the list of file extensions numerically by count in ascending order (e.g., 1 before 10), with ties broken alphabetically. Ensures a consistent numerical progression, useful for focusing on rarity first. -
dirstat-project-size /path/to/project --sort-num-desc
Sorts the list of file extensions numerically by count in descending order (e.g., 10 before 1), with ties broken alphabetically. Places the most numerous file types at the top, similar to --sort-descending but with explicit numerical priority. -
dirstat-project-size /path/to/project --sort-natural-asc
Sorts the list of file extensions in a “human-friendly” way, considering numbers within extension names (e.g., .file2 before .file10). Mimics how people naturally order mixed alphanumeric strings, avoiding strict alphabetical pitfalls. -
dirstat-project-size /path/to/project --sort-natural-desc
Sorts the list of file extensions in reverse “human-friendly” order (e.g., .file10 before .file2). Applies natural sorting in descending order, placing higher-numbered or later extensions first in a way that feels intuitive. -
dirstat-project-size /path/to/project --sort-natural-desc --case-sensitive
Combines natural descending sort with case-sensitive comparison (e.g., .C before .c if present). Ensures that uppercase letters are prioritized over lowercase ones within the natural sort, adding precision to extension name ordering.
--case-sensitive
Modifies alphabetical and natural sorting to distinguish between uppercase and lowercase letters (e.g., .C before .c instead of treating them as equal). Adds granularity to sorting when case matters in your project’s file naming conventions.
-h
or --help
Displays the help message with all available options and examples. Stops execution and provides a quick reference for usage, perfect for learning or troubleshooting the tool.
dirstat-project-size /path/to/project
Run in a specific path
dirstat-project-size --exclude=node_modules --exclude=.git
Exclude specific folders
dirstat-project-size --toggle-ascii
Use ascii characters for the bar chart instead of unicode
dirstat-project-size --only-bar-color
Only colorize the bars
dirstat-project-size /path/to/project --sort-alpha-asc
Sort the list alfabetically from Z to A
dirstat-project-size --sort-natural-desc --case-sensitive
Sort by smal distinguishing between uppercase and lowercase letters
dirstat-project-size --sort-descending --only-bar-color
Result: