bin: initial sortit commit
This commit is contained in:
42
bin/sortit.sh
Executable file
42
bin/sortit.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
function getsourcefiles() {
|
||||
local src=$1
|
||||
unset i
|
||||
while IFS= read -r -u3 -d $'\0' file; do
|
||||
files[i++]="$file"
|
||||
done 3< <(ls "$src" | fzf -m --print0)
|
||||
if [ "$i" == "" ] ; then
|
||||
echo "You didn't choose any files."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
function getdestdir() {
|
||||
dir=$(ls "$1" | fzf)
|
||||
if [ "$dir" == "" ] ; then
|
||||
echo "No destination selected."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
if [ $# -lt 2 ] ; then
|
||||
echo $0 src_dir dest_parent
|
||||
exit 1
|
||||
fi
|
||||
|
||||
src_dir=$1
|
||||
dest_dir=$2
|
||||
|
||||
while [ 1 == 1 ] ; do
|
||||
getsourcefiles $src_dir
|
||||
getdestdir $dest_dir
|
||||
|
||||
destpath=$(realpath "$2/$dir")
|
||||
|
||||
for i in "${files[@]}"
|
||||
do
|
||||
# echo mv -i "$1/${i}" "$destpath"
|
||||
mv -i "$1/${i}" "$destpath"
|
||||
done
|
||||
done
|
||||
Reference in New Issue
Block a user