Create complex directory structures and files in one command
Go to file
2024-06-06 13:07:58 +05:00
ff Remove -v option and add ffv 2024-04-22 15:06:34 +05:00
ffv Remove -v option and add ffv 2024-04-22 15:06:34 +05:00
LICENSE Create LICENSE 2024-06-06 12:36:53 +05:00
README.md Improve documentation 2024-06-06 13:07:58 +05:00

Fast Files

License: MIT

Fast Files is a project consisting of two bash scripts, ff and ffv, that combine the functionality of mkdir and touch, enabling you to create directory structures and files in a single command. The ffv script additionally prints the created objects in a tree-like structure using eza, lsd or ls.

Scripts

  • ff: creates the specified files and directories without printing any output.
  • ffv: performs the same operations as ff but also lists the created objects.

Features

  • Create single or multiple files and directories in one command.
  • Automatically create parent directories as needed.
  • Supports brace expansion for creating complex directory and file structures in one go.
  • Optionally lists the created objects with enhanced listing tools (eza or lsd) if available, or fallback to ls (ffv only).

🛠️ Dependencies

  • bash
  • Optional: eza or lsd for enhanced directory listing

🏗️ Installation

Place both scripts in a directory included in your $PATH. Ensure the scripts are executable:

chmod +x /path/to/ff
chmod +x /path/to/ffv

🚀 Usage

ff [path file or folder]
ffv [path file or folder]

Arguments

  • --help or -h : Prints usage information

Examples

  • Create a single file:

    ff file
    
    ───file
    
  • Create a single directory:

    ff dir/
    
    ───dir
    
  • Create multiple files:

    ff file1 file2 file3
    
     ┌─file1
    ─┼─file2
     └─file3
    
  • Create multiple directories:

    ff dir1/ dir2/ dir3/
    
     ┌─dir1
    ─┼─dir2
     └─dir3
    
  • Create a file in a directory:

    ff dir/file
    
    ───dir───file
    
  • Create a directory within a directory:

    ff dir1/dir2/
    
    ───dir1───dir2
    
  • Create multiple files in multiple directories:

    ff dir1/dir2/file1 dir3/file2
    
     ┌─dir1───dir2───file1
    ─┴─dir3───file2
    
  • Use brace expansion for complex structures (supported in bash, zsh, fish):

    ff dir1/{dir2/{file1,file2}.txt,dir3/file3.txt}
    
                   ┌─file1.txt
    ───dir1─┬─dir2─┴─file2.txt
            └─dir3───file3.txt
    

Advanced New File

❤️ Show Your Support

Give a if this project helped you.