summaryrefslogtreecommitdiff
path: root/automv.sh
diff options
context:
space:
mode:
Diffstat (limited to 'automv.sh')
-rwxr-xr-xautomv.sh24
1 files changed, 20 insertions, 4 deletions
diff --git a/automv.sh b/automv.sh
index 16d7683..fae371e 100755
--- a/automv.sh
+++ b/automv.sh
@@ -1,10 +1,15 @@
#!/usr/bin/env bash
-set -e
if [[ -n "$AUTOMV_DIR" ]]; then
automvdir=$AUTOMV_DIR
else
- automvdir=$(dirname "$0")/automv.d
+ if [[ -d "/usr/local/etc/automv.d" ]]; then
+ automvdir=/usr/local/etc/automv.d
+ else
+ echo 'Missing automv.d location: please create confs in /usr/local/etc/automv.d
+ or supply a directory in $AUTOMV_DIR'
+ exit 1
+ fi
fi
function extract {
@@ -13,12 +18,23 @@ function extract {
grep "^${prop}=.*$" $file | cut -d '=' -f2
}
+function fn_find {
+ find $1 -type f \( -regex "${2}" ! -iname ".*" \)
+}
+
function automv {
local query=$1
local source=$2
local target=$3
- echo "Moving files in $source that match '$query' to $target"
- find $source -type f \( -regex "${query}" ! -iname ".*" \) | xargs -I '{}' mv {} $target/
+
+ file_cnt=$(fn_find $source $query | wc -l)
+ if [[ $file_cnt > 0 ]]; then
+ echo "Moving $file_cnt files in $source that match '$query' to $target"
+ fn_find $source $query
+ fn_find $source $query | xargs -I '{}' mv {} $target/
+ else
+ echo "No files matching '$query' in $source"
+ fi
}
echo "Executing automv functions from $automvdir"