Bonsoir,
Dans une expression régulière, le symbole point désigne un caractère, quel qu'il soit. Donc l'expression régulière suivante
a.c
pourra correspondre à
abc
a1c
etc, mais aussi à
a.c
(où là il s'agit d'un véritable point dans le texte analysé).
C'est un caractère joker, si tu veux, qui est très pratique quand par exemple, on sait qu'il y aura un caractère à tel endroit de la chaîne mais dont on ne connaît pas précisément la nature.
Si, maintenant, tu sais que le premier caractère de la chaîne à remplacer est un point, alors il faut l'échapper avec le symbole contre-oblique \ pour que sed l'interprète comme un point au sens littéral et non pas comme un joker comme exposé ci-dessus.
Dans ton cas, il y a de grandes chances que .flac ou .flac reviennent au même mais il faut garder en tête que .flac est plus permissif que .flac.
Si une de tes chansons s'intitule
Le flacon brisé.flac
alors avec .flac tu ne remplaceras que l'extension mais avec .flac tu remplaceras aussi “ flac” (c'est-à-dire l'espace après Le et le début du mot flacon - ce n'est pas ce que tu souhaites). Pour t'en rendre compte, tu peux taper ceci dans une console
$ echo "Le flacon brisé.flac" | sed 's/\.flac/.ogg/g'
Le flacon brisé.ogg
$ echo "Le flacon brisé.flac" | sed 's/.flac/.ogg/g'
Le.oggon brisé.ogg
Note qu'il n'est pas nécessaire d'échapper le point dans la deuxième partie de l'instruction sed.