Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Bash script to split the current directory into N sub directories each with a set number of files.
function split_folder {
#Optional Positional Arguments
N_FILES=${1:-100} # Number of files you want in each folder.
FILES=${2:-"*.*"} # Filetype, accepts any string.
let m=0 # Loop vairable.
let M=0 # Folder name variable.
for i in $FILES; do
let m=$m+1
if [ $m -gt $N_FILES ]; then # Reset loop variable. Increment folder name.
let m=0
let M=$M+1
if [ ! -d "$M" ]; then # Create the folder if it doesn't exist.
echo "Creating $M"
mkdir "$M"
mv "$i" "$M" # Move this file.
echo "Done" # Done.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment