gpt4 book ai didi

linux - 通过删除 ctrl-m 字符和双空行在 srt 文件中保留单个空格行

转载 作者:太空宇宙 更新时间:2023-11-04 10:09:09 24 4
gpt4 key购买 nike

我们在linux中处理了很多srt文件来生成衍生品,但是有些srt文件是在windows中生成的,所以有ctrl-M字符。现在我放了两个命令来检查并取出隐藏的字符

tr -d '\015' <${file}.srt >${file}.srt

awk '/^$/{ if (! blank++) print; next } { blank=0; print }' ${file}.srt | tee ${file}.srt

但我仍然有 srt 文件通过命令,并且仍然有 ctrl-M 字符。在这种情况下,有没有人有解决方案,只在每条细线之间保留空行?所以如果预处理后的 srt 文件看起来像

1
00:00:05,569 --> 00:00:07,569
Welcome to this overview of ShareStream,


2
00:00:07,820 --> 00:00:11,940
which is a new digital streaming service
from Information Technology Services


3
00:00:11,940 --> 00:00:13,740
at the University of Iowa.

去掉ctrl-M字符或多余的空格行后应该是

1
00:00:05,569 --> 00:00:07,569
Welcome to this overview of ShareStream,

2
00:00:07,820 --> 00:00:11,940
which is a new digital streaming service
from Information Technology Services

3
00:00:11,940 --> 00:00:13,740
at the University of Iowa.

感谢任何帮助!

最佳答案

删除那些行尾控制符的 UNIX 命令是

dos2unix

将记录之间的多个空行压缩为一个空行的 UNIX 命令是:

awk -v RS= -v ORS='\n\n' '1'

关于linux - 通过删除 ctrl-m 字符和双空行在 srt 文件中保留单个空格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50162986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com