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

関連情報