Improve documentation

This commit is contained in:
mintycube 2024-06-06 12:40:41 +05:00
parent 8fa83d1d84
commit 05e1afac28

191
README.md
View File

@ -1,119 +1,126 @@
# Fast Files (ff) <h1 align="center">Fast Files</h1>
<p>
<a href="#" target="_blank">
<img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
</a>
</p>
## Description > 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`.
ff is a bash script which is a combination of 'mkdir' and 'touch'. It can create directory structures and files simultaneously and lists the created objects using eza, lsd, or ls. ## Scripts
## Dependencies - `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 - bash
- [eza](https://github.com/eza-community/eza) (optional) - Optional: [eza](https://github.com/eza-community/eza) or [lsd](https://github.com/lsd-rs/lsd) for enhanced directory listing
- [lsd](https://github.com/lsd-rs/lsd) (optional)
## Usage ## 🏗️ Installation
Place both scripts in a directory included in your `$PATH`. Ensure the scripts are executable:
```bash ```bash
ff [path file or folder] chmod +x /path/to/ff
--help : prints usage info chmod +x /path/to/ffv
``` ```
## Examples ## 🚀 Usage
### Single file
```bash ```bash
ff file ff [path file or folder]
ffv [path file or folder]
``` ```
``` ### Arguments
file
```
### Single directory - `--help` or `-h` : Prints usage information
```bash ### Examples
ff dir/
```
``` - Create a single file:
dir ```bash
``` ff file
```
```
───file
```
### Multiple files - Create a single directory:
```bash
ff dir/
```
```
───dir
```
```bash - Create multiple files:
ff file1 file2 file3 ```bash
``` ff file1 file2 file3
```
```
┌─file1
─┼─file2
└─file3
```
``` - Create multiple directories:
file1 ```bash
file2 ff dir1/ dir2/ dir3/
file3 ```
``` ```
┌─dir1
─┼─dir2
└─dir3
```
### Multiple directories - Create a file in a directory:
```bash
ff dir/file
```
```
───dir───file
```
```bash - Create a directory within a directory:
ff dir1/ dir2/ dir3/ ```bash
``` ff dir1/dir2/
```
```
───dir1───dir2
```
``` - Create multiple files in multiple directories:
dir1 ```bash
dir2 ff dir1/dir2/file1 dir3/file2
dir3 ```
``` ```
┌─dir1───dir2───file1
─┴─dir3───file2
```
### File in a directory - Use [brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html) for complex structures (supported in bash, zsh, fish):
```bash
ff dir1/{dir2/{file1,file2}.txt,dir3/file3.txt}
```
```
┌─file1.txt
───dir1─┬─dir2─┴─file2.txt
└─dir3───file3.txt
```
```bash ## 🔗 Related Projects
ff dir/file
```
```
dir
└── file
```
### Directory in a directory
```bash
ff dir1/dir2/
```
```
dir1
└── dir2
```
### Multiple files in multiple directories
```bash
ff dir1/dir2/file1 dir3/file2
```
```
dir1
└── dir2
└── file1
dir3
└── file2
```
### If your shell supports brace expansion e.g bash, zsh, fish
```bash
ff dir1/{dir2/{file1,file2}.txt,dir3/file3.txt}
```
```
dir1
├── dir2
│ ├── file1.txt
│ └── file2.txt
└── dir3
└── file3.txt
```
## Related Projects
[Advanced New File](https://github.com/tanrax/terminal-AdvancedNewFile) [Advanced New File](https://github.com/tanrax/terminal-AdvancedNewFile)
## ❤️ Show Your Support
Give a ⭐️ if this project helped you.