diff options
Diffstat (limited to 'automv.sh')
-rwxr-xr-x | automv.sh | 24 |
1 files changed, 20 insertions, 4 deletions
@@ -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" |