我想写一个脚本,这将自动执行以下过程:每周我都会将大约5-10个视频文件复制到一个目录中,并使用avcodec删除每个文件的音频流。我认为这是用bash编写我的第一个脚本的好起点。它应该检查目录中的文件名(00001.MTS,00002.MTS,.)并对每个文件执行命令。我来自python和matlab,在那里我可以使用for或a while循环来编写这个脚本。
我很乐意得到我的问题的完成代码,但几个链接,我可以找到必要的信息。
谢谢,克里斯
发布于 2019-02-28 10:16:25
检查man find。它是一种灵活而强大的工具,每当您听到“来自某个目录的几个文件”时,您一定要考虑它。无论您只想找到它们(-print),还是在本例中,对其中的每一个都运行一个命令(-exec):
find "$HOME"/some/videos -type f -name "*.MTS" \
-exec av_encoder_too --remove-audio ... {} \;注意:
{}是一个文字大括号--这是在运行命令时查找将在每个文件中替换的地方。当然,您需要提供正确的值
"$HOME"/some/videosav_encoder_too --remove-audio ...在完成这项工作之后,作为您学习的下一步,我建议您研究xargs命令--这是解决“对许多文件做点什么”问题的另一种方法。
快乐的黑客,/ddd
https://askubuntu.com/questions/1121893
复制相似问题