diff options
author | Steph Enders <smenders@gmail.com> | 2023-02-26 22:06:40 -0500 |
---|---|---|
committer | Steph Enders <smenders@gmail.com> | 2023-02-26 22:06:40 -0500 |
commit | 9c137d4a179b38f7187e296ae3b0303f5e479c60 (patch) | |
tree | e06f5db7e99863d3a56c324b384f0819c34449af /automv.sh | |
parent | 0791c354995775becf558f4b0031daf55477f88f (diff) |
Support splitting files with --- / added tests
Added some tests to verify that you can now split your files with --- to
join multiple queries into a single file. This could be for if you have
two separate regexes to run or even two sources you want to run the same
query against.
Example file:
```example.conf
query=.*example.conf$
source=/path/to/example/
target=/path/to/dest/
---
query=.*different.csv$
soruce=/path/to/different/
target=/path/to/dest/
```
Diffstat (limited to 'automv.sh')
-rwxr-xr-x | automv.sh | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -1,5 +1,8 @@ #!/usr/bin/env bash +TMPDIR=$(mktemp -d) +CSPLIT_PREFIX=$TMPDIR/split + if [[ -n "$AUTOMV_DIR" ]]; then automvdir=$AUTOMV_DIR else @@ -28,9 +31,25 @@ function automv { | xargs -I '{}' mv -v {} $target/ } +function split { + file=$1 + filename=$(basename --suffix=.conf $file) + csplit $1 \ + --prefix="${CSPLIT_PREFIX}-${filename}" \ + --suffix-format='_%04d.conf' \ + --elide-empty-files \ + --suppress-matched \ + --keep-files \ + /---/ '{*}' +} + echo "Executing automv functions from $automvdir" for file in $automvdir/*.conf do + split $file +done +for file in $TMPDIR/*.conf +do echo "found $file" if [[ -f $file ]]; then # Extract file configs @@ -41,3 +60,7 @@ do automv $query $sourced $target fi done +echo "Automoved files" +echo "Removing tmp dir: $TMPDIR" +rm -r $TMPDIR +echo "Done" |