如何修改此 sed awk 命令以便输出到所选文件?

2024-04-03

我正在使用这个答案中的最后一个命令https://stackoverflow.com/a/54818581/80353 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)

该命令当前执行的操作

  1. 此命令会将 YouTube 视频的字幕下载为 .vtt 文件,并且
  2. 然后在终端上打印出 .vtt 文件的简化版本

该命令按描述工作。

如何使用该命令

在终端中,我将运行上面的命令一次,然后运行cap $youtube_url

我喜欢拥有什么

我想修改原来的cap()功能,以便原始行为保留一个额外的部分

  1. 此命令会将 YouTube 视频的字幕下载为 .vtt 文件(未更改)
  2. 然后将 .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" not tee -a "$2"如我上面所示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何修改此 sed awk 命令以便输出到所选文件? 的相关文章

随机推荐

  • 如何使用 FCM 向特定用户发送通知?

    我为 FCM 准备了接收器 可以向所有设备发送通知 gcm http googleapis com gcm send使用此链接可以发送给注册的目标用户并发布到目标设备 如下所示 json notification title sample
  • R 错误:某些组对于“qda”来说太小

    我用的是MASS qda 找到我的数据的分类器 它总是报告 某些群体对于 qda 来说太小了 是由于我用于模型的测试数据的大小吗 我将测试样本大小从 30 增加到 100 它报告了相同的错误 求助啊啊啊啊啊 set seed 1345 Al
  • Spring Integration TCP - 在发送数据之前启动消息握手

    我正在使用 MessagingGateway 将数据发送到服务器 我为出站网关配置了 AbstractClientConnectionFactory 和 ServiceActivator 为了将数据发送到我的服务器 我需要在启动连接时发送握
  • delete *p 是删除 [] p 的替代方法吗?

    以下代码来自微软文档 https learn microsoft com en us cpp cpp new operator cpp view vs 2019 int p new int 7 delete p 我觉得delete p应该在
  • QUnit 与 Jasmine? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 这两个测试框架的主要区别是什么 我是测试驱动开发的新手 从头开始 QUnit 非常容易上手 因为您只需要包含两个文件和一点标记 然后就可以开始编
  • 链增量运算符

    为什么不能连锁经营 int test 5 test OR int test 5 test 此代码给出编译时错误 递增或递减运算符的操作数必须是变量 属性或索引器 我完全理解这一点 如果允许的话 将是一个完整的代码味道 几乎没有现实世界的用途
  • 当 AWS 存在时,为什么人们还使用 Heroku? Heroku 与 AWS 有何不同? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我是一名初级 RoR 程序员 计划使用 Heroku 部署我的应用程序 我的其他顾问朋友说 Heroku 真的很简单 很好用 唯一的问题是我仍然
  • 安装到 USB 驱动器根目录时出现 Inno Setup 错误:“您必须输入带驱动器号的完整路径”

    我想知道如何修复此类错误 您必须输入带驱动器号的完整路径 例如 C APP 或以下形式的 UNC 路径 server share 每当我尝试强制 Inno Setup Compiler 5 5 5 u 将我的东西放入其中时 就会出现这种情况
  • 两次调用的递归函数的时间复杂度

    考虑这段代码 def count 7 lst if len lst 1 if lst 0 7 return 1 else return 0 return count 7 lst len lst 2 count 7 lst len lst 2
  • 去除错误的 Windows 文件名字符

    我发现这个函数可以测试字符串是否是 Windows 文件名和文件夹友好的 function is valid filename name parts preg split preg quote name if preg match a z
  • 如何在代码/预块中添加 Markdown 格式?

    这似乎违背了代码块的目的 但我希望能够将代码块中的某些内容加粗 例如 如果我想将返回行加粗 int main void return 0 您必须在 HTML 中执行此操作 按设计 http daringfireball net projec
  • Powershell 将行转置为列

    有人可以帮我将行转置为列吗 需要将机器名称转置到列中 结束时间必须排序 lt MachineName TotalDataSizeBytes ActualStartTime EndTime FinalJobStatus SERVER1 322
  • 如何从 uitableviewcell 显示 uidatepicker [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 询问代码的问题必须对所解决的问题表现出最低限度的了解 包括尝试的解决方案 为什么不起作用以及预期结果 也可以看看 Stack Overfl
  • 如何在 Spring 中查看 SOAP 请求的 XML 输出?

    我是 Spring SOAP 请求的新手 我想查看 SOAP 请求的最终 XML 输出 其中包括 SOAP 标头和 SOAP 信封 在调试时我到达了这段代码 sendSourceAndReceiveToResult partnerURI s
  • Xamarin Forms Flex 布局大小调整问题

    在我的 Xamarin Forms 应用程序中 我需要在另一个 Flex 布局内有一个 Flex 布局 这是因为 我的应用程序中需要有两列 一列占据屏幕的 80 另一列占据屏幕的 20 我使用具有两个子级的 FlexLayout 为此设置了
  • Xcode 12.4 中未找到框架 FIRAnalyticsConnector

    在 Xcode 12 4 中更新 pod 后出现 找不到框架 FIRAnalyticsConnector 错误 我已经清理并重建了该项目 但它仍保留在那里 我应该怎么办 转到您的项目目标Build Settings gt 搜索FIRAnal
  • 每次迁移后都需要重新启动 Heroku 吗?

    最近我遇到了一个问题 我的数据库方案更改没有反映在 Heroku PG 上 我仔细检查了一下 发现迁移和种子都成功了 更奇怪的是 数据库方案更改在暂存的 Heroku 部署上运行良好 在完全相同的迁移 种子之后 经过一番搜索后 我了解到您应
  • PHP 中每个文件只有一个或多个函数?

    每当我用 php 设计我的应用程序时 我都会遇到这个问题 这确实让我头疼 我不知道是否应该为每个函数创建单独的文件 例如 用于验证特定表单的函数 好吧 有人可能会认为这没有意义 因为我必须单独包含每个文件 这可能会导致应用程序更慢 但我仍然
  • C++ - 检测超出范围的访问

    我想分析我的 C 代码以查找向量和数组中的错误访问 超出范围访问 是否有工具可以实现这一点 提前致谢 如果您使用的是 gcc 则可以使用定义的 GLIBCXX DEBUG 和 GLIBXX DEBUG PEDATIC 进行编译 如果请求越界
  • 如何修改此 sed awk 命令以便输出到所选文件?

    我正在使用这个答案中的最后一个命令https stackoverflow com a 54818581 80353 https stackoverflow com a 54818581 80353 cap cd tmp rm f vtt y