1
0
Fork 0
zfs-diff-move/zfs-diff-move-small.sh

14 lines
337 B
Bash
Executable File

#!/bin/bash
zfs diff -H "$3" "$4" | grep '^R' | while read -r line
do
get_path() {
path="$(echo -e "$(echo "$line" | cut -d$'\t' "-f$3")")"
echo "${path/#$2/$1}"
}
from="$(get_path "$1" "$2" 2)"
to="$(get_path "$1" "$2" 3)"
mkdir -vp -- "$(dirname "$to")"
mv -vn -- "$from" "$to" || echo "Unable to move $from"
done