【发布时间】:2020-04-02 06:30:37
【问题描述】:
我正在使用此 SO 答案 https://stackoverflow.com/a/54818581/80353 中的最后一个命令
cap()(cd /tmp;rm -f *.vtt;youtube-dl --skip-download --write-auto-sub "$1";sed '1,/^$/d' *.vtt|sed 's/<[^>]*>//g'|awk -F. 'NR%8==1{printf"%s ",$1}NR%8==3'|tee cap)
这个命令当前做什么
- 此命令会将 youtube 视频的字幕下载为 .vtt 文件和
- 然后在终端上打印出.vtt文件的简化版
此命令按描述工作。
如何使用这个命令
在终端中我会运行一次上面的命令,然后运行cap $youtube_url
我喜欢什么
我想修改原来的cap()函数,让原来的行为保留一个额外的部分
- 此命令会将 youtube 视频的字幕下载为 .vtt 文件(未更改)
- 然后将 .vtt 文件的简化版本打印到另一个文件中,该文件声明为参数 $2(已更改)
我希望如何调用新命令
最初,我将原始命令称为
cap $youtube_url
现在我喜欢这样做
cap $youtube_url $relative_or_absolute_path_of_text_or_markdown_file
如何修改原来的 cap 命令来达到我想要的结果?
【问题讨论】:
-
能否请您告诉我们您的代码的完整要求,因为这看起来很复杂,可能会导致混淆。请在您的问题中添加更多信息,然后让我们知道,干杯。
-
@RavinderSingh13 哦,我不知道这还不够清楚。让我再尝试一次。这样更好吗?
-
你试过
... | tee "$2"而不是... | tee cap吗? -
@KimStacks,您可以尝试关注一次
cap()(cd /tmp;rm -f *.vtt;youtube-dl --skip-download --write-auto-sub "$1";sed '1,/^$/d' *.vtt|sed 's/<[^>]*>//g'|awk -F. 'NR%8==1{printf"%s ",$1}NR%8==3'|tee -a "$2")吗?然后让我知道。这应该在屏幕上显示输出并保存到输出文件中。