Solution:
[jradtke@neo bin]$ echo $TEMP | sed 's/'\''/'\\\\\''''/g'
./jradtke/Music/Metric/Fantasies/01 Help, I\'m Alive.mp3
Issue:
In an attempt to make my Lenovo tablet and Linux desktop (Fedora 16 with Amarok) experience more like my iPad and Apple desktop (OSX with iTunes) - I am trying to create a script to "sync" everything. The feature I need most is the ability to sync only my "top rated" music files to my tablet (since I have a 32GB SD card and my music collection is around 60GB).
I figured out how to poll the MySQL database that I configured for Amarok to get the file locations, but some of the locations use a single quote in the filename. Such as the word "I'm". See the following:
NOTE: $TMPSYNC is a file which is the result of the query to my Amarok database
#!/bin/bash
MINRATING=7 # Minimum Song rating to sync to TABLET
SQLCMD="SELECT rpath FROM urls WHERE id IN (SELECT id FROM statistics WHERE rating > ${MINRATING});"
TMPSYNC=/tmp/.amarok.toprated.raw.${DATE}
echo ${SQLCMD} | /usr/bin/mysql -u${AMAROKUSER} -p${AMAROKDBPASS} ${AMAROKDB} > ${TMPSYNC}
[jradtke@neo bin]$ grep -v ^rpath ${TMPSYNC}
./jradtke/Music/Metric/Fantasies/01 Help, I'm Alive.mp3
[jradtke@neo bin]$ TEMP=`grep -v ^rpath ${TMPSYNC}`
[jradtke@neo bin]$ echo $TEMP
./jradtke/Music/Metric/Fantasies/01 Help, I'm Alive.mp3
[jradtke@neo bin]$ echo $TEMP | sed 's/'\''//g'
./jradtke/Music/Metric/Fantasies/01 Help, Im Alive.mp3
[jradtke@neo bin]$ echo $TEMP | sed 's/'\''/?/g'
./jradtke/Music/Metric/Fantasies/01 Help, I?m Alive.mp3
# THE FOLLOWING WILL REPLACE A TICK, WITH A... TICK
[jradtke@neo bin]$ echo $TEMP | sed 's/'\''/'\''/g'
./jradtke/Music/Metric/Fantasies/01 Help, I'm Alive.mp3
# FINALLY... WE GET TO THE FINAL DEST
[jradtke@neo bin]$ echo $TEMP | sed 's/'\''/'\\\\\''''/g'
./jradtke/Music/Metric/Fantasies/01 Help, I\'m Alive.mp3
[jradtke@neo bin]$ echo $TEMP | sed 's/'\''/'\\\\\''''/g'
./jradtke/Music/Metric/Fantasies/01 Help, I\'m Alive.mp3
Issue:
In an attempt to make my Lenovo tablet and Linux desktop (Fedora 16 with Amarok) experience more like my iPad and Apple desktop (OSX with iTunes) - I am trying to create a script to "sync" everything. The feature I need most is the ability to sync only my "top rated" music files to my tablet (since I have a 32GB SD card and my music collection is around 60GB).
I figured out how to poll the MySQL database that I configured for Amarok to get the file locations, but some of the locations use a single quote in the filename. Such as the word "I'm". See the following:
NOTE: $TMPSYNC is a file which is the result of the query to my Amarok database
#!/bin/bash
MINRATING=7 # Minimum Song rating to sync to TABLET
SQLCMD="SELECT rpath FROM urls WHERE id IN (SELECT id FROM statistics WHERE rating > ${MINRATING});"
TMPSYNC=/tmp/.amarok.toprated.raw.${DATE}
echo ${SQLCMD} | /usr/bin/mysql -u${AMAROKUSER} -p${AMAROKDBPASS} ${AMAROKDB} > ${TMPSYNC}
Then...
[jradtke@neo bin]$ grep -v ^rpath ${TMPSYNC}
./jradtke/Music/Metric/Fantasies/01 Help, I'm Alive.mp3
[jradtke@neo bin]$ TEMP=`grep -v ^rpath ${TMPSYNC}`
[jradtke@neo bin]$ echo $TEMP
./jradtke/Music/Metric/Fantasies/01 Help, I'm Alive.mp3
[jradtke@neo bin]$ echo $TEMP | sed 's/'\''//g'
./jradtke/Music/Metric/Fantasies/01 Help, Im Alive.mp3
[jradtke@neo bin]$ echo $TEMP | sed 's/'\''/?/g'
./jradtke/Music/Metric/Fantasies/01 Help, I?m Alive.mp3
# THE FOLLOWING WILL REPLACE A TICK, WITH A... TICK
[jradtke@neo bin]$ echo $TEMP | sed 's/'\''/'\''/g'
./jradtke/Music/Metric/Fantasies/01 Help, I'm Alive.mp3
# FINALLY... WE GET TO THE FINAL DEST
[jradtke@neo bin]$ echo $TEMP | sed 's/'\''/'\\\\\''''/g'
./jradtke/Music/Metric/Fantasies/01 Help, I\'m Alive.mp3
Comments
Post a Comment