Yes sir.
Here is the script (admittedly, someone better versed in Bash would make a better script) I wrote that employs metaflac:
#!/bin/bash
# This script takes the tag information from existing FLAC files and writes it
# to each FLAC file's corresponding MP3 file.
# If no parameters are passed to the script, print how to use it, then exit.
# If no FLAC files are found, print an error message, then exit.
if [ $# -eq 0 ] ; then
echo Usage: $(basename $0) FILESPEC.flac
exit
elif [ ! -s "$1" ] ; then
echo No files to tag!
exit
fi
# The "for" loop that allows more than 1 file to be specified, Can use single
# file name or example *.flac
for x in "$@" ; do
FLAC="$x"
MP3=$(basename "${FLAC%.flac}.mp3")
[ -r "$FLAC" ] || { echo can not read file \"$FLAC\" >&1 ; exit 1 ; } ;
# This section pulls tag info from the FLAC file and stores it as variables.
TITLE="$(metaflac --show-tag=TITLE "$FLAC" | awk -F = '{ printf($2) }')"
ARTIST="$(metaflac --show-tag=ARTIST "$FLAC" | awk -F = '{ printf($2) }')"
ALBUM="$(metaflac --show-tag=ALBUM "$FLAC" | awk -F = '{ printf($2) }')"
TRACKNUMBER="$(metaflac --show-tag=TRACKNUMBER "$FLAC" | awk -F = '{ printf($2) }')"
TRACKTOTAL="$(metaflac --show-tag=TRACKTOTAL "$FLAC" | awk -F = '{ printf($2) }')"
COMMENT="$(metaflac --show-tag=COMMENT "$FLAC" | awk -F = '{ printf($2) }')"
DATE="$(metaflac --show-tag=DATE "$FLAC" | awk -F = '{ printf($2) }')"
GENRE="$(metaflac --show-tag=GENRE "$FLAC" | awk -F = '{ printf($2) }')"
DISCNUMBER="$(metaflac --show-tag=DISCNUMBER "$FLAC" | awk -F = '{ printf($2) }')"
DISCTOTAL="$(metaflac --show-tag=DISCTOTAL "$FLAC" | awk -F = '{ printf($2) }')"
# This section tags each MP3 file with the tag information from its
# corresponding FLAC file, stored in the variables immediately above.
echo TAGGING TrackNumber/TrackTotal for "$FLAC"
id3 -M -n "$TRACKNUMBER" -y "$DATE" "$MP3"
eyeD3 --preserve-file-times -1 -t "$TITLE" -a "$ARTIST" -A "$ALBUM" -n "$TRACKNUMBER" -c "$COMMENT" -Y "$DATE" -G "$GENRE" "$MP3"
if [ ! -n "$DISCTOTAL" ] ; then
eyeD3 --preserve-file-times -2 -t "$TITLE" -a "$ARTIST" -A "$ALBUM" -n "$TRACKNUMBER" -N "$TRACKTOTAL" -c "$COMMENT" -Y "$DATE" -G "$GENRE" -d "$DISCNUMBER" "$MP3"
else
eyeD3 --preserve-file-times -2 -t "$TITLE" -a "$ARTIST" -A "$ALBUM" -n "$TRACKNUMBER" -N "$TRACKTOTAL" -c "$COMMENT" -Y "$DATE" -G "$GENRE" -d "$DISCNUMBER" -D "$DISCTOTAL" "$MP3"
fi
done