Skip to content

Instantly share code, notes, and snippets.

@tejovanthn
Created February 28, 2018 10:22
Show Gist options
  • Save tejovanthn/c7c8d4dd3b064a21599a04c33faca81c to your computer and use it in GitHub Desktop.
Save tejovanthn/c7c8d4dd3b064a21599a04c33faca81c to your computer and use it in GitHub Desktop.
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
fi
if [ ! -d "$M" ]; then # Create the folder if it doesn't exist.
echo "Creating $M"
mkdir "$M"
fi
mv "$i" "$M" # Move this file.
done
echo "Done" # Done.
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment