summaryrefslogtreecommitdiffstats
path: root/plugins/organize
diff options
context:
space:
mode:
authorArun Prakash Jana <engineerarun@gmail.com>2019-08-19 23:01:41 +0530
committerArun Prakash Jana <engineerarun@gmail.com>2019-08-19 23:01:41 +0530
commitb9530a5ce0eb727ec9833259f6b939de84d65a7c (patch)
tree65a572230d4a845a1b8315a12a0071fd46327323 /plugins/organize
parent80c2c469dac78bac00ca11ee9cf4f05382b170b3 (diff)
Plugin organize
Diffstat (limited to 'plugins/organize')
-rwxr-xr-xplugins/organize53
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 "$@"