You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
786 B
43 lines
786 B
#!/bin/bash
|
|
|
|
die()
|
|
{
|
|
echo "ERROR: $1" >&2
|
|
exit "${2:-1}"
|
|
}
|
|
|
|
log_info()
|
|
{
|
|
echo "INFO: $*"
|
|
}
|
|
|
|
INI=$1
|
|
DISP=${2:-1}
|
|
|
|
case $# in
|
|
1|2) ;;
|
|
*) echo "Wrong number or arguments"; usage; exit 1;;
|
|
esac
|
|
|
|
last_file=$(printf "%04d_test.yml.tt2" "${INI}")
|
|
|
|
if ! [ -f "${last_file}" ] ; then
|
|
die "can't find ${last_file}"
|
|
fi
|
|
|
|
find . -name '0*_test.yml.tt2' | sort -r | while read -r tfile ; do
|
|
[[ ${tfile} =~ /0*([0-9]+)_test\.yml\.tt2 ]] || die "wtf"
|
|
num=${BASH_REMATCH[1]}
|
|
if [[ ${num} -ge ${INI} ]]; then
|
|
(( next = "$num" + "$DISP" ))
|
|
next_file=$(printf "%04d_test.yml.tt2" $next)
|
|
if [ -f "${next_file}" ] ; then
|
|
die "file ${next_file} already exist"
|
|
fi
|
|
git mv "${tfile}" "${next_file}"
|
|
log_info "OK ${num} => $next"
|
|
else
|
|
log_info "nothing to do with ${tfile}"
|
|
fi
|
|
done
|