我正在使用此 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)
此命令按描述工作。
在终端中,我将运行上述命令一次,然后运行 cap $youtube_url
我想修改原始cap()
函数,使原始行为保留一个额外的部分
最初,我将原始命令称为
cap $youtube_url
现在我喜欢这样做
cap $youtube_url $relative_or_absolute_path_of_text_or_markdown_file
如何修改原始 cap 命令以达到我想要的结果?
考虑到您想在屏幕上看到输出以及您也想将输出保存到输出文件中,如果是这种情况,请尝试以下操作。
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")
或以非一种衬垫形式使用:
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")
请确保您在变量中提供了完整的路径 eg--> relative_or_absolute_path_of_text_or_markdown_file="/full/path/output_file.txt"
etc 只是一个例子。我无法测试它,因为我的盒子里没有 vtt 文件等的机制。
如果您不想在屏幕上打印信息而只想将输出保存到输出文件中,那么作为@oguz ismail 的注释使用,tee "$2"
而不是tee -a "$2"
像我上面显示的那样。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句