gpt4 book ai didi

awk - 如何修改此sed awk命令,以使输出进入所选文件?

转载 作者:行者123 更新时间:2023-12-03 05:53:16 25 4
gpt4 key购买 nike

我正在使用此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命令以实现所需的结果?

    最佳答案

    考虑到您想在屏幕上看到输出,也想将输出保存到输出文件中,如果是这种情况,请尝试以下操作。

    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")

    请确保您在变量中提供了完整的路径,例如-> relative_or_absolute_path_of_text_or_markdown_file="/full/path/output_file.txt"等,仅作为示例。我无法测试它,因为我的盒子里没有vtt文件等的机制。

    如果您不想在屏幕上打印信息,而只是想将输出保存到输出文件中,那么正如@oguz ismail的注释,请仅使用 tee "$2"而不是 tee -a "$2",如上所示。

    关于awk - 如何修改此sed awk命令,以使输出进入所选文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59244045/

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