um rename to handle piped input
This commit is contained in:
parent
230450b388
commit
7effa12c59
2 changed files with 35 additions and 5 deletions
|
|
@ -2,16 +2,31 @@
|
||||||
|
|
||||||
# Usage:
|
# Usage:
|
||||||
|
|
||||||
# > rename 100.md bar
|
# > um rename 100.md foo
|
||||||
# or
|
# or
|
||||||
# > rename 100.foo.md bar
|
# > um rename 100.foo.md bar
|
||||||
|
# or
|
||||||
|
# > um last | um rename baz
|
||||||
|
|
||||||
# is equivalent to:
|
# is equivalent to:
|
||||||
# > mv 100.md 100.bar.md
|
# > mv 100.md 100.foo.md
|
||||||
# > mv 100.foo.md 100.bar.md
|
# > mv 100.foo.md 100.bar.md
|
||||||
|
# > mv 100.bar.md 100.baz.md
|
||||||
|
|
||||||
|
# accept piped input
|
||||||
|
# https://unix.stackexchange.com/a/537581
|
||||||
|
if [[ ! -t 0 ]]; then
|
||||||
|
FROM=$(cat -)
|
||||||
|
TO=$1
|
||||||
|
else
|
||||||
|
FROM=$1
|
||||||
|
TO=$2
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo from: $FROM to: $TO
|
||||||
|
|
||||||
# split the args by a newline so that awk reads them as separate "records"
|
# split the args by a newline so that awk reads them as separate "records"
|
||||||
mvcmd=`echo "$1
|
mvcmd=`echo "$FROM
|
||||||
$2" | awk -f $UMBASEPATH/rename.awk`
|
$TO" | awk -f $UMBASEPATH/rename.awk`
|
||||||
|
|
||||||
mv $mvcmd
|
mv $mvcmd
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,21 @@ um_next_awk() {
|
||||||
+ foo'
|
+ foo'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "um rename" {
|
||||||
|
run um rename 001.md blah
|
||||||
|
run ls 001*
|
||||||
|
assert_output '001.blah.md'
|
||||||
|
mv 001.blah.md 001.md
|
||||||
|
}
|
||||||
|
|
||||||
|
# this doesn't work because bats doesn't handle stdin the way a tty does.
|
||||||
|
# @test "um rename piped" {
|
||||||
|
# run um last | um rename gloo
|
||||||
|
# run ls 099*
|
||||||
|
# assert_output '099.gloo.md'
|
||||||
|
# mv 099.gloo.md 099.poo.md
|
||||||
|
# }
|
||||||
|
|
||||||
um_rename_awk() {
|
um_rename_awk() {
|
||||||
echo "$1
|
echo "$1
|
||||||
$2" | awk -f $DIR/../rename.awk
|
$2" | awk -f $DIR/../rename.awk
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue