Skip to content

Create complex directory structures and files in one command

License

Notifications You must be signed in to change notification settings

mintycube/fast-files

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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
    

🔗 Related Projects

Advanced New File

❤️ Show Your Support

Give a ⭐️ if this project helped you.

About

Create complex directory structures and files in one command

Topics

Resources

License

Stars

Watchers

Forks

Languages