#!/bin/sh #fixtags.sh - Script by TJNII to fix the tags on mp3 files in the # directory pointed to by $1 # Requires id3convert and id3 # Generate a list of file to fix find "$1" -iname "*.mp3" > filelist.tmp # Find the count MAXCOUNT=`cat -n filelist.tmp | grep .mp3 -c -i` for (( COUNT = 1 ; COUNT <= MAXCOUNT ; COUNT++ )) do FNAME=`head -n $COUNT < filelist.tmp | tail -n 1` echo "Fixing $FNAME" ID3ARTIST=`id3 "$FNAME" -l -R | grep Artist | sed -e 's/Artist: //g'` ID3TITLE=`id3 "$FNAME" -l -R | grep Title | sed -e 's/Title: //g'` ID3ALBUM=`id3 "$FNAME" -l -R | grep Album | sed -e 's/Album: //g'` ID3YEAR=`id3 "$FNAME" -l -R | grep Year | sed -e 's/Year: //g'` ID3TRACK=`id3 "$FNAME" -l -R | grep Track | sed -e 's/Track: //g'` ID3COMMENT=`id3 "$FNAME" -l -R | grep Comment | sed -e 's/Comment: //g'` # echo "Gathered $ID3ARTIST $ID3TITLE $ID3ALBUM $ID3TRACK $ID3YEAR $ID3COMMENT" id3convert -s "$FNAME" id3 -t "$ID3TITLE" -T "$ID3TRACK" -a "$ID3ARTIST" -A "$ID3ALBUM" -y "$ID3YEAR" -c "$ID3COMMENT" "$FNAME" # sleep 2 done echo "Recoded $MAXCOUNT id3 tags." rm filelist.tmp