【发布时间】:2017-06-06 11:41:59
【问题描述】:
我面临一个需要 bash 多个方面的挑战。我在 Linux(确切地说是 Debian Stretch)中工作。这是情况(对于我现在考虑的解决方案写的所有要点/问题,但我对其他想法持开放态度):
我有各种类型的视频(以及各种大小写),例如 .mp4、.mov、.MOV、.MP4、.avi、...几乎是非结构化的目录树)。为了找到所有我尝试使用
find命令-
对于每个视频,我需要提取一些元数据(即文件名、视频时长、文件大小和创建/最后修改日期)。包
mediainfo产生(除许多其他外)必填字段。mediainfo的输出是一长串格式为:<Tag>\t : <value>的字段。我需要提取字段完整名称、持续时间、文件大小和编码日期的值。 因此,有了所有这些信息,我必须过滤必填字段值并将它们放入 CSV 文件中。我考虑过使用
sed。
我的目标是通过脚本或少量单独的命令来完成所有这些任务。
idea代码(这个代码错得离谱,但你可以得到一个idea):
find . -type f -name "*.[mp4|MP4|mov|MOV|avi|AVI]" -exec mediainfo {} | sed '/Complete name|Duration|File size|Encoded date/p' > myfile.csv \;
您知道如何执行此任务吗?将 find、exec 和 sed 结合起来并输出到 csv 时,我感到非常迷失......
提前感谢您的帮助!
【问题讨论】:
标签: linux bash video sed metadata