首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在目录中运行文件的脚本

在目录中运行文件的脚本
EN

Ask Ubuntu用户
提问于 2019-02-28 07:46:45
回答 1查看 81关注 0票数 0

我想写一个脚本,这将自动执行以下过程:每周我都会将大约5-10个视频文件复制到一个目录中,并使用avcodec删除每个文件的音频流。我认为这是用bash编写我的第一个脚本的好起点。它应该检查目录中的文件名(00001.MTS,00002.MTS,.)并对每个文件执行命令。我来自python和matlab,在那里我可以使用for或a while循环来编写这个脚本。

我很乐意得到我的问题的完成代码,但几个链接,我可以找到必要的信息。

谢谢,克里斯

EN

回答 1

Ask Ubuntu用户

发布于 2019-02-28 10:16:25

检查man find。它是一种灵活而强大的工具,每当您听到“来自某个目录的几个文件”时,您一定要考虑它。无论您只想找到它们(-print),还是在本例中,对其中的每一个都运行一个命令(-exec):

代码语言:javascript
复制
find "$HOME"/some/videos -type f -name "*.MTS" \
    -exec av_encoder_too --remove-audio ... {} \;

注意:

  • 后面的文字分号需要用反斜杠转义。
  • {}是一个文字大括号--这是在运行命令时查找将在每个文件中替换的地方。
  • 行尾的第一个反斜杠就是将一个长命令拆分成两行。您可以很容易地省略它并将其全部写入,就像一个长的命令行一样。

当然,您需要提供正确的值

  • 目录"$HOME"/some/videos
  • 编码器工具及其args av_encoder_too --remove-audio ...

在完成这项工作之后,作为您学习的下一步,我建议您研究xargs命令--这是解决“对许多文件做点什么”问题的另一种方法。

快乐的黑客,/ddd

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1121893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档