ビデオファイルを幅でディレクトリに移動する

ビデオファイルを幅でディレクトリに移動する

ビデオファイルを幅に応じてディレクトリに移動しようとしています。

たとえば、

./xxx/pr0n.mkv
./pokemon.mkv

スクリプトを実行した後

./xxx/1920/pr0n.mkv
./1920/pokemon.mkv

スクリプトを再実行すると、他の幅のディレクトリは作成されません。

  • 一般的なビデオ拡張子と一致
  • するいいえファイルの親ディレクトリが数字のみである場合は一致します(幅なので)。

これまで私はこれを思い出しましたが、うまくいきません。

find . -type f \( -iname "*.mkv" -o -iname "*.avi" -o -iname "*.mov" -o -iname "*.mpg" -o -iname "*.mpeg" -o -iname "*.wmv" -o -iname "*.mp4" \) -a -regex '.*\/[^0-9]+\/\.*$' -exec bash -c 'echo "Processing {} .."; WIDTH=$(mediainfo "--Inform=Video;%Width%" "{}") && DIR=$(dirname "{}") && mkdir -p "$DIR/$WIDTH" && mv "{}" "$DIR/$WIDTH"' \; 

ベストアンサー1

問題を発見しました。ffmpeg -i YOUR_MOVIE_FILES -sample_fmtsあなたを使用すると長いデータを得ることができます。

grep解像度を検索するにはtrueを使用する必要があります。このデータから解決策を見つけることができます。

ffmpeg -i YOUR_MOVIE_FILES -sample_fmts |egrep blahblah

またはを使用してくださいawk script

おすすめ記事