Skip to content

Instantly share code, notes, and snippets.

@joshden
Forked from mef/audacity_rescue.sh
Created May 24, 2016 02:05
Show Gist options
  • Save joshden/ef09f796d1e561e80a97220d7dd423ea to your computer and use it in GitHub Desktop.
Save joshden/ef09f796d1e561e80a97220d7dd423ea to your computer and use it in GitHub Desktop.
#!/bin/bash
#Recover from an Audacity crash by reassembling the saved data files
if [ $# != 2 ]; then
echo "ERROR: Not enough arguments"
echo "$0 [SOURCE PATH] [DESTINATION]"
exit 1
fi
DATA="$1/"
OUT=$2
if [ -e $OUT ]; then
# Hope the path exists
echo "ERROR: Output file exists ($OUT)"
exit 1
fi
COUNT=1
find $DATA -name "*.au" -print0 | while read -d $'\0' FILE ; do
#The offsets are probably all going to be the same, but best check it
OFFSET=$(echo $(od -i -j4 -N4 -An < $FILE) ) # Use echo for easy trim
if [ $COUNT -eq 1 ]; then
# Write the header
dd ibs=$OFFSET count=1 if=$FILE of=$OUT
fi
echo "Adding $FILE (offset=$OFFSET)"
dd ibs=$OFFSET skip=1 conv=notrunc oflag=append if=$FILE of=$OUT
let COUNT+=1
done
echo "Done"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment