すべてのホームビデオをHEVCに変換しましたが、ファイルが小さくなることもありません。現在、すべての動画ファイルを手動で比較していますが、時間がかかります。
この2つのフォルダを確認し、2つのファイルのうち大きなファイルを削除し、小さなファイルを保持できるスクリプトがあるかどうか疑問に思います。
結局、私はスペースを節約するためにこれをやっています。 Ubuntu 17.04 CLIですべての変換を行ったので、bashスクリプトが良いでしょうが、私はスクリプトではありません。
答え1
私が使用するものzsh
(sudo apt-get install zsh
まだインストールしていない場合):
#! /bin/zsh -
typeset -A files
for f in **/*.*(.LM+50oL); do
if (($+files[$f:t:r])); then
printf '"%s" was smaller than "%s"\n' $files[$f:t:r] $f
ls -lUd -- $files[$f:t:r] $f
rm -i -- $f
else
files[$f:t:r]=$f
fi
done
つまり、サイズでソートされた50MiB(通常のビデオ)を超えるすべてのファイルを繰り返します。同じテール(デフォルト名)とルート名(つまり拡張子なし)を持つファイルが以前に表示されている場合、これはファイルが小さいことを意味するため、提案された削除を行います(-i
拒否する機会があります)。
例:
$ that-script
"foo.mov" was smaller than "foo.avi"
-rw-r--r-- 1 chazelas chazelas 62914560 Jun 29 00:08 foo.mov
-rw-r--r-- 1 chazelas chazelas 73400320 Jun 29 00:08 foo.avi
rm: remove regular file 'foo.avi'?