diff options
author | Arun Prakash Jana <engineerarun@gmail.com> | 2019-08-19 23:01:41 +0530 |
---|---|---|
committer | Arun Prakash Jana <engineerarun@gmail.com> | 2019-08-19 23:01:41 +0530 |
commit | b9530a5ce0eb727ec9833259f6b939de84d65a7c (patch) | |
tree | 65a572230d4a845a1b8315a12a0071fd46327323 /plugins/organize | |
parent | 80c2c469dac78bac00ca11ee9cf4f05382b170b3 (diff) |
Plugin organize
Diffstat (limited to 'plugins/organize')
-rwxr-xr-x | plugins/organize | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/plugins/organize b/plugins/organize new file mode 100755 index 00000000..3fb34c1e --- /dev/null +++ b/plugins/organize @@ -0,0 +1,53 @@ +#!/usr/bin/env sh + +# Description: Organize files in directories by category +# +# Shell: POSIX compliant +# Author: th3lusive + +organize() { + case "$(file -biL "$1")" in + *video*) + [ ! -d "Videos" ] && mkdir "Videos" + mv "$1" "Videos/$1" + printf "Moved %s to Videos\n" "$1" ;; + + *audio*) [ ! -d "Audio" ] && mkdir "Audio" + mv "$1" "Audio/$1" + printf "Moved %s to Audio\n" "$1" ;; + + *image*) + [ ! -d "Images" ] && mkdir "Images" + mv "$1" "Images/$1" + printf "Moved %s to Images\n" "$1" ;; + + *pdf*|*document*|*epub*|*djvu*|*cb*) + [ ! -d "Documents" ] && mkdir "Documents" + mv "$1" "Documents/$1" + printf "Moved %s to Documents\n" "$1" ;; + + *text*) + [ ! -d "Plaintext" ] && mkdir "Plaintext" + mv "$1" "Plaintext/$1" + printf "Moved %s to Plaintext\n" "$1" ;; + + *tar*|*xz*|*compress*|*7z*|*rar*|*zip*) + [ ! -d "Archives" ] && mkdir "Archives" + mv "$1" "Archives/$1" + printf "Moved %s to Archives\n" "$1" ;; + + *binary*) + [ ! -d "Binaries" ] && mkdir "Binaries" + mv "$1" "Binaries/$1" + printf "Moved %s to Binaries\n" "$1" ;; + esac +} + +main() { + for file in * + do + [ -f "$file" ] && organize "$file" + done +} + +main "$@" |