我需要编写一个 sed 脚本,将字幕的实际文本放在 srt 文件中的一行上。
如果此文本最初被分成多行,则换行符和可能的空格必须替换为单个空格。
输入
00:00:12,800 --> 00:00:16,300
I think uh, vice-president of consumer products
or something like that
输出
00:00:12,800 --> 00:00:16,300
I think uh, vice-president of consumer products or something like that
我已经得到了这个
N
s/\([a-z]*,*\)\\n/ /g
但那没用。有人能帮我吗?
答案1
$ sed -n '/-->/{1!{x;s/\n/ /g;p;x};p;n;h;d};H;${x;s/\n/ /g;p}' input.txt
我不会为你做作业。你应该阅读更多来解释它。
顺便说一句,awk
解决方案要简单得多:
$ awk '/-->/{if(NR!=1)print "";print;next}; {printf "%s",$0}' input.txt