查找 x265 文件然后输出名称的脚本

查找 x265 文件然后输出名称的脚本

我正在尝试制作一个脚本,该脚本可以爬行给定目录并列出所有 x265 文件。使用 mediainfo 可以查看文件是 x264 还是 x265,然后使用 sed 清理文本。我不明白的部分是:

1.我如何表述在 cli 中有效但在此处无效的命令以及
2.我如何让它包含子目录。

#!/bin/bash
for file in ls
search='mediainfo $file | grep -E "Writing library"| sed 's/.*x//'| sed 's/\s.*$//''
 if [ $search -eq 265 ] 
 then 
  echo $file is a 265 
 else 
  echo $file is not 265 and is $search 
 fi 

答案1

您可以使用for这样的格式:

for file in **/*

获取当前目录和子目录中的所有文件。

要将返回值分配给变量,请使用反引号

search=`mediainfo $file | grep -E "Writing library"| sed 's/.*x//'| sed 's/\s.*$//'`

如果您使用类似的东西可以简化您的输出:

mediainfo --Inform="Video;%Codec%" $file

或者

ffprobe $file 2>&1 >/dev/null | grep Stream.*Video

相关内容