gsplitter
Allows you to divide the files in the current folder into many smaller directories. Division options: by number of files, by extension, by creation date, or by first letter.
Installation
go install github.com/HardDie/gsplitter@latest
Usage
Split files by count of files
$ ls -l
-rw-r--r-- 1 user users 0 Feb 14 18:21 0001.txt
-rw-r--r-- 1 user users 0 Feb 14 18:21 0002.txt
-rw-r--r-- 1 user users 0 Feb 14 18:21 0003.txt
-rw-r--r-- 1 user users 0 Feb 14 18:21 0004.txt
...
-rw-r--r-- 1 user users 0 Feb 14 18:21 1000.txt
$ gsplitter count -i 200
2023/02/14 18:24:57 Done!
$ ls -l
drwxr-xr-x 2 user users 4.0K Feb 14 18:24 0/
drwxr-xr-x 2 user users 4.0K Feb 14 18:24 1/
drwxr-xr-x 2 user users 4.0K Feb 14 18:24 2/
drwxr-xr-x 2 user users 4.0K Feb 14 18:24 3/
drwxr-xr-x 2 user users 4.0K Feb 14 18:24 4/
Split files by extension
$ ls -l
-rw-r--r-- 1 user users 0 Feb 14 18:21 0001.txt
-rw-r--r-- 1 user users 0 Feb 14 18:21 0002.TXT
-rw-r--r-- 1 user users 0 Feb 14 18:21 0003.jpg
-rw-r--r-- 1 user users 0 Feb 14 18:21 0004.JPG
...
-rw-r--r-- 1 user users 0 Feb 14 18:21 1000
$ gsplitter ext
2023/02/14 18:24:57 Done!
$ ls -l
drwxr-xr-x 2 user users 4.0K Feb 14 18:24 txt/
drwxr-xr-x 2 user users 4.0K Feb 14 18:24 jpg/
drwxr-xr-x 2 user users 4.0K Feb 14 18:24 unknown/
Split files by creation date
$ ls -l
-rw-r--r-- 1 user users 0 Feb 14 18:21 0001
-rw-r--r-- 1 user users 0 Feb 15 18:21 0002
$ gsplitter date
2023/02/14 18:24:57 Done!
$ ls -l
drwxr-xr-x 2 user users 4.0K Feb 14 18:24 2025-02-14/
drwxr-xr-x 2 user users 4.0K Feb 14 18:24 2025-02-15/
Split files by first letter
$ ls -l
-rw-r--r-- 1 user users 0 Feb 14 18:21 aa
-rw-r--r-- 1 user users 0 Feb 14 18:21 ab
-rw-r--r-- 1 user users 0 Feb 14 18:21 ba
-rw-r--r-- 1 user users 0 Feb 14 18:21 Bb
$ gsplitter letter
2023/02/14 18:24:57 Done!
$ ls -l
drwxr-xr-x 2 user users 4.0K Feb 14 18:24 A/
drwxr-xr-x 2 user users 4.0K Feb 14 18:24 B/
Contributing
Pull requests are welcome. For major changes, please open an issue first
to discuss what you would like to change.