Det var som syv ... jeg troede jeg havde svaret den her ... Anyway, jeg prøver igen. Jeg kan ikke forstå hvorfor du vil ha' informationen ned i albumstxt, men hvad ved jeg. Jeg har ikke konfigureret min mySql, så jeg har ikke testet DB delen, men følgende udskriver den ønskede information:
mp3Files=`find "$musicRoot" -name "*.mp3" | sed 's/ /%20/g'`
for mp3File in $mp3Files; do mp3File=`echo $mp3File | sed 's/%20/ /g'` if [ -f $albumtxt ]; then rm $albumtxt ; fi mp3info -x -p 'artist="%a" \nalbum="%l" \ntitle="%t" \nyear="%y" \nbitrate="%r"\n' "$mp3File" > $albumtxt
if [ $? != 0 ]; then echo "Unable to process $mp3File " else . $albumtxt echo ">>> Artist \"$artist\"" echo ">>> Album \"$album\"" echo ">>> Title \"$title\"" echo ">>> Year \"$year\"" echo ">>> Bitrate \"$bitrate\"" echo ">>> --------------------------------------" # echo "USE $bexdb; INSERT INTO $table VALUES('"$artist"','"$album"','"$year"','"$bitrate"')" | mysql -u "$dbuser" -p"$dbpass"; fi done exit 0
Jeg antager at du vil escape ' tegnet for at få den ned i MySql, jeg tvivler på at det er en / der skal til, nærmere en \, men det kan du eksperimentere med. Jeg ville smide en sed after mp3info kommandoen: mp3info -x -p 'artist="%a" \nalbum="%l" \ntitle="%t" \nyear="%y" \nbitrate="%r"\n' "$mp3File" | sed "s,',\\\',g" > $albumtxt
Ved at sætte sed'en ind her får du også fixet kunsnere med ' i navnet (Guns N' Roses, ...)
ok perfekt =) det ser ud til at virke lige som jeg vil have det .. men har du en ide om hvorfor jeg ser den her fejl nogen gange bla.sh: /bla/albums.txt: line 1: unexpected EOF while looking for matching ``' bla.sh: /bla/albums.txt: line 5: syntax error: unexpected end of file
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.