-
Silas S. Brown authored
git-svn-id: http://svn.code.sf.net/p/e-guidedog/code/ssb22/gradint@420 29193198-4895-4776-b068-10539e920549
Silas S. Brown authoredgit-svn-id: http://svn.code.sf.net/p/e-guidedog/code/ssb22/gradint@420 29193198-4895-4776-b068-10539e920549
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
filemove.sh 1.43 KiB
#!/bin/bash
export SamplesDir="samples/" # Must include trailing /
export ProgressFile="progress.txt"
if ! test -e $SamplesDir; then echo "Error: $SamplesDir does not exist (are you in the right directory?)"; exit 1; fi
if ! test -e $ProgressFile; then echo "Error: $ProgressFile does not exist (are you in the right directory?)";exit 1;fi
if test "a$1" == a; then
echo "Usage: $0 oldname newname"
echo "oldname and newname are relative to $SamplesDir, and can be prefixes of several files/directories"
echo "Moves files from one samples directory to another, keeping $ProgressFile adjusted. Make sure gradint is not running (including waiting for start) when in use."
exit 1
fi
export Src=$1
export Dest=$2
find $SamplesDir -follow -type f | grep ^$SamplesDir$Src | \
while true; do read || break;
export SrcFile=$REPLY
export DestFile=$(echo $SrcFile|sed -e "s|^$SamplesDir$Src|$SamplesDir$Dest|")
mkdir -p $DestFile ; rmdir $DestFile # ensure parent dirs exist before moving file across
mv -b $SrcFile $DestFile
export SrcFile=$(echo $SrcFile|sed -e "s|$SamplesDir||")
export DestFile=$(echo $DestFile|sed -e "s|$SamplesDir||")
gzip -fdc $ProgressFile | sed -e "s|$SrcFile|$DestFile|g" > /tmp/newprog ; mv /tmp/newprog $ProgressFile # (ideally should re-write to batch these changes, but leave like this for now in case need to recover from unfinished operation)
done
rmdir $SamplesDir$Src 2>/dev/null >/dev/null # IF it's a directory