My build of nnn with minor changes
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- #!/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 "$@"
|