Bash 在连字符前打断字幕
我有一个字幕文件。我想用连字符打断所有的字幕。之后我只想要两行字幕。例如: 发件人: 致: 我试过:Bash 在连字符前打断字幕,bash,Bash,我有一个字幕文件。我想用连字符打断所有的字幕。之后我只想要两行字幕。例如: 发件人: 致: 我试过: cat source.srt | sed 's/ - /\n\0/g' > target.srt 将所有“-”替换为“-\n” 然而,这将把“我工作很多。”放在第三行。您可以使用gnu-sed: sed -i.bak 's/ - /\n- /' file 你的sed命令是错误的。尝试: sed -i "s/ - /\n- /g" filename.srt 在您的示例中,您进行了另一次
cat source.srt | sed 's/ - /\n\0/g' > target.srt
将所有“-”替换为“-\n”
然而,这将把“我工作很多。”放在第三行。您可以使用gnu-sed:
sed -i.bak 's/ - /\n- /' file
你的sed命令是错误的。尝试:
sed -i "s/ - /\n- /g" filename.srt
在您的示例中,您进行了另一次编辑,您在问题中没有说明这一点。此命令只执行您要求的操作。此代码有效:cat source.srt | sed的/-/\n-/g'>target.txt。但是“我工作很多”在第三行。我该如何解决这个问题?问题是
我工作很多。
已经在另一行了。除非你用什么样的逻辑来阐明我们应该这样做,否则删除新行并将其放到前一行很容易出错。第一个人说:“你好吗?”。第二个人说:“我很好,我工作很多。”。我想把一个人说的话放在一行上。每个连字符代表一个人。这是我的问题。事实上,如果你用这个新的要求创建一个新的问题来获得更多的答案会更好。我也会努力从我的角度来解决这个问题。
sed -i.bak 's/ - /\n- /' file
sed -i "s/ - /\n- /g" filename.srt