From c371488a184ce659bf28171a3fdde37f3ec390bf Mon Sep 17 00:00:00 2001 From: Bill Date: Sat, 19 Mar 2022 11:14:03 -0400 Subject: Create automv script Automv script will allow a cronjob to easily move files from one dir to another based on a find regex query. You can dynamically set what files to look for and where using .conf files in the automv.d folder present next to the script - or by setting its location in AUTOMV_DIR. Dev note: I specifically avoided using $HOME/.local/automv.d/ because my specific use case the user whose cron this will be in doesn't have a home directory. An improvement could be expanding the smart defaults to doing something like: if [[ -n "$HOME" ]]; then if [[ -d $HOME/.local/automv.d ]]; then # use that else # etc else # etc But I don't like long bash if/else nesting so I figured just set a local default otherwise override in the env --- readme.txt | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 readme.txt (limited to 'readme.txt') diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..05922ef --- /dev/null +++ b/readme.txt @@ -0,0 +1,48 @@ +automv.sh +========= + +Usage: + ./automv.sh + +Prereqs: + Requires bash with the tools: + grep + xargs + find + +Setup: + the script searches the directory: + ./automv.d/ + for any .conf files + +Overriding the automv.d location: + If you want to set a different automv.d location setup the: + AUTOMV_DIR + environment variable + +automv.d/ conf syntax +===================== + +The conf files use the following syntax: + +# comments +query= + this is the query you want to use in 'find -regex' +source= + this is the directory you want to search in +target= + this is the target directory to move the found files to + +We explicitly parse out those 3 properties (see extract function in script) + +!!! Note - do not quote wrap anything - the script expects unwrapped values + +example conf +============ + +# jpegmv.conf +# moves jpeg files downloaded to pictures +query=.*\.jp[e]?g +source=/home/user/Downloads/ +target=/home/user/Pictures/ + -- cgit v1.2.3-54-g00ecf