半肾
精华
|
战斗力 鹅
|
回帖 0
注册时间 2019-8-30
|
本帖最后由 冰箱研会长 于 2021-4-27 13:03 编辑
最近在看老攻壳, 手里的字幕在iPad上用Emby播就1/4个指甲盖大, 实在是伤眼睛...
想自己修改一下, 好像AegiSub也只能 打开文件 -> 样式管理器 -> 导入 -> 保存,
这流程也太令人绝望了, 12个字幕我都嫌烦, 老攻壳快40多份字幕了...
这种情况如果是字幕组会怎么操作呢
我自己的缓兵之计是用pwsh做搜索替换, 但是这个事情感觉像是有 "成熟好用的工具" 的样子啊...
- Get-ChildItem *.ass | ForEach-Object {
- $TargetInFo= Select-String -LiteralPath $_.FullName -Pattern "Style: Default" -CaseSensitive -NoEmphasis; #获取包含了行号, 文件名在内的查找信息
- $FileContent = Get-Content -LiteralPath $_.FullName; #获取文件内容, 一个以行号为index (0-index)的字符串数组
- foreach ($LineNumber in $TargetInFo.LineNumber){ #考虑到复数查找的情况, 比如不只是Default样式而是所有Style, 对返回的行号数组进行遍历并以此替换内容
- $FileContent[$LineNumber - 1] = "Style: Default,PingFangSC-Regular,100,&H00FFFFFF,&H00FFFFFF,&H00000000,&H80000000,-1,0,0,0,100,100,0,0,1,1,1,2,20,20,30,1";
- Set-Content -LiteralPath $_.FullName -Value $FileContent; #写入
- }
- }
复制代码
顺便问一下 *Default和Default有啥区别啊
|
|