diff options
Diffstat (limited to 'mdk')
-rwxr-xr-x | mdk | 69 |
1 files changed, 69 insertions, 0 deletions
@@ -0,0 +1,69 @@ +#!/bin/bash +# +# MDK (Move / Delete / Keep) +################################################################################ + +if [ "$#" -ge 2 ]; then + cmd=$1 + shift +else + echo "Usage: $0 <command> <file1> [<file2> ...]"; + exit 0; +fi + + +move() { + file="$1" + + read -e -p "Where? " movedir + mkdir -p "$movedir" + + mv "$file" "$movedir/" || exit 1 + + echo "[+] Moved to '$movedir'" +} + +delete() { + file="$1" + + mkdir -p .trash + echo ".trash generated, delete it manually if you want" + mv "$file" .trash/ || exit 1 + + echo "[+] Deleted" +} + +keep() { + echo "[+] Kept" +} + +for file in "$@"; do + key="" + while [ -z "$key" ]; do + echo -e "==============================\n[+] Opening '$file'..." + $cmd "$file" + echo -e "\n==============================" + prompt="[M]ove / [D]elete / [K]eep / [A]gain (${file}) > " + read -n1 -p "$prompt" key + while [[ ! "$key" =~ m|d|k|a ]]; do + echo -e "\nWhat?" + read -n1 -p "$prompt" key + done + echo + case "$key" in + m) + move "$file" + ;; + d) + delete "$file" + ;; + k) + keep + ;; + a) + key="" + ;; + esac + done +done + |