As for FLAC you can refer to this or this post. Ofcourse those are not a technical overview, they are just my opinion and impression and you can find more on the web.
As for CUE sheets and the need for them, sometimes you get a whole album as a single mp3 or FLAC file and you can't rewind to the start of the song you want. That's where CUE sheets come to the rescue. CUE sheets are a description of the file, every song has (title, singer, ...) and where it starts and ends.
So what i needed was to split the FLAC(or an mp3) file using the CUE sheet(if exists). Was it an easy task?! On Linux :) it was. Please find the bash script below which does this task given the folder path and the cue sheet file path.
I am thinking of posting some scripts that i make and find useful every now and them. Hope they help :)
echo "split flac by cue sheets"
echo "Cue sheet file path: "
echo "FLAC file path: "
# split files by the cuesheet
cuebreakpoints "$cuesheet" | shnsplit -o flac "$srcfile"
# import the tags from the cue sheet to the generated files
cuetag "$cuesheet" split-track*.flac
for file in *.flac ; do
# Get file index from file name
# Get Song title from tags
title=$(metaflac --show-tag=TITLE "$file")
# Change file name
newfilename="$index - $title".flac
echo "Added : $newfilename"
mv $file "$newfilename"