CrazyRundong
2022-06-03 15:29:34 +08:00
前几天也在 nas 上写了个类似的脚本,稍微处理了下不同季和不同字幕组 /压制组间的字幕匹配:
```bash
#!/bin/bash
set -e
mkv_dir=${1:-"$PWD"}
sub_dir=${2:-"$PWD/权力的游戏.S03"}
season="03"
for ((ep = 1; ep <= 10; ep++)); do
mkv_path=$(find "${mkv_dir}" -regex ".*S${season}E$( printf '%02d' ${ep} ).*\.mkv$" ! -regex '.*\@eaDir.*' ! -iname '._*')
mkv_name=$(basename "${mkv_path}" '.mkv')
mkv_dir=$(dirname "${mkv_path}")
ass_path=$(find "${sub_dir}" -regex ".*S${season}E$( printf '%02d' ${ep} ).*\.ass$" ! -regex '.*\@eaDir.*' ! -iname '._*')
ass_name=$(basename "${ass_path}" '.ass')
ass_dir=$(dirname "${ass_path}")
ass_new_path="${mkv_dir}/${mkv_name}.chs-eng.ass"
ass_path_normalized=$(realpath "$ass_path")
ass_new_path_normalized=$(realpath "$ass_new_path")
printf 'EP%02d: %s\t==>\t%s\n' $ep "$ass_path_normalized" "$ass_new_path_normalized"
cp "$ass_path_normalized" "$ass_new_path_normalized"
done
```