Обычно текстовые файлы должны заканчиваться символом новой строки.
Один из способов отредактировать файл для замены завершающей запятой на закрывающую скобку в последней строке:
ed - $file <<'!'
$s/,$/]/
w
q
!
Переходит к последней строке, заменяет запятую с закрывающей скобкой, пишет и завершает работу. В качестве альтернативы, используя sed:
sed '$s/,$/]/' $file > new.$file &&
mv new.$file $file
Если у вас есть GNU sed, есть опция «перезаписать» ('-i', IIRC).
Если вам нужно иметь дело с именами файлов, а не с содержимым файлов, то:
newname=$(echo "$oldname" | sed 's/,$/]/')
И, несомненно, есть и другие механизмы. Вы также можете использовать Perl или Python; они стремятся к излишнему убыванию для запрошенного примера.