favs-backup.sh (691B)
1 #!/usr/bin/env bash 2 3 # Backup and restore ~/Music/Favourites 4 5 if [[ "$1" == "restore" ]]; then 6 if [ -d "$HOME/Music/Favourites" ]; then 7 cp -r "$HOME/Music/Favourites/" /tmp/favourites-backup 8 rm -rf "$HOME/Music/Favourites" 9 fi 10 inputFile="$2" 11 oldIFS="$IFS" 12 IFS=$'\n' 13 lines=( $(cat "$inputFile") ) 14 IFS="$oldIFS" 15 for line in "${lines[@]}"; do 16 if ! [[ "$line" == *".m4a" ]]; then 17 mkdir "$HOME/Music/${line}" 18 continue 19 fi 20 realFile="$(echo "$line" | sed 's/Favourites\///g')" 21 ln -sf "$HOME/Music/${realFile}" "$HOME/Music/${line}" 22 done 23 elif [[ "$1" == "backup" ]]; then 24 outputFile="$2" 25 cp "$outputFile" /tmp/backup-file 26 find "$HOME/Music/Favourites" > "$outputFile" 27 fi