2つのオプションを提案します

2つのオプションを提案します

以下のように、forループで検出され、完了した検出されたファイルの数に基づいて完了の進行状況を視覚的に表示できる進行状況バーがありますか?

mkdir -p hflip; for i in *.mp4; do ffmpeg -n -i "$i" -vf hflip -c:a copy hflip/"${i%.*}.mp4"; done

ベストアンサー1

進行状況バーに文字列を保持し、各ファイルをいくつかの文字で埋め、ループ中に他の文字に置き換えることをお勧めします。

bar=""; for i in *.EXT; do bar=$bar-; done; for i in *.EXT; do PROGRAM OPTION1 OPTION2 "$i"; bar=${bar/-/=}; printf "%s\r" $bar; done

ただし、ffmpeg出力を提供したため、進行状況バーの印刷が妨げられます。出力を/dev/nullまったく見ないようにリダイレクトできますが、問題が発生したかどうかを確認する方が良いので、ログファイルにリダイレクトすることをお勧めします。stdout今回stderrは、読みやすくするために複数行のスクリプトで印刷します。

mkdir -p hflip 
bar=""
for i in *.mp4; do
  bar=$bar-
done
for i in *.mp4; do
  ffmpeg -n -i "$i" -vf hflip -c:a copy hflip/"${i%.*}.mp4" > /tmp/log.out 2> /tmp/log.err
  bar=${bar/-/=}
  printf "%s\r" $bar
done
more /tmp/log.err

ファイルを処理すると、すべてのエラーを含むログが表示されます。を表示することもできますが、log.outこれはに関するものなので、ffmpegほとんどの人が読みたくない多くのコンテンツを出力するのが好きです。 (-;

おすすめ記事