mondjuk így is működik, és jól, valamint sem jobb, sem gyorsabb nem lenne a változtatással.
ha változtatnék, és miért ne? akkor valami ilyesmit csinálnék:
if [ "$1" = "-h" ]; then
usage
exit 0
elif [ "$2" ]; then
usage
exit 1
# If no directory is given, work in local dir
elif [ ! "$1" ]; then
DIR="."
elif [ -e "$1" ]; then
DIR="$1"
else
usage
echo
echo " ERROR: $1 ..."
exit 1
fi
valamint:
mkvmerge -i "$filename" | sed -n -e 's/^Track ID \([0-9]\+\): subtitles .*$/\1/p' | while read tracknumber
do
tracklanguage=`mkvmerge -F verbose-text -i "$filename" | sed -n -e '/^Track ID '"$tracknumber"':/s/.* language:\([a-z]\{3\}\) .*/\1/p'`
[ "$tracklanguage" ] || tracklanguage="unknown"
subtitlename=${filename%.*}
mkvextract tracks "$filename" $tracknumber:"$subtitlename.srt.tmp" > /dev/null 2>&1
chmod g+rw "$subtitlename.srt.tmp"
mv "$subtitlename.srt.tmp" "$subtitlename-t$tracknumber-$tracklanguage.srt" > /dev/null 2>&1
done
ezzel viszont gyorsabb lenne..
nem mintha ez számítana:)
a végén a .tmp fájlba mentést, meg az átnevezését azt meghagynám, csak kilépnék ha sikertelen az átnevezés.
de gyorsan kellett és jól műkodik :))