拡張された再帰的なグロビングを有効にします。
shopt -s extglob globstar
次に:
exiftool -q -p '$FileName $ImageSize' **/+(*.mp4|*.mkv|*.flv)
**
サブディレクトリに再帰します。拡張グロブ+(*.mp4|...)
は、内のパターンの少なくとも1つに一致し()
ます。
grepを使用して出力を処理し、ファイルのリストを生成することはできません1920x1080
。
exiftool -q -p '$Directory/$FileName $ImageSize' **/+(*.mp4|*.mkv|*.flv) |
grep -v ' 1920x1080$'
ここの変更に注意してください:私はを使用してい$Directory/$FileName $Imagesize
ます。ファイル名だけでなく、ファイルへのパスが必要$Directory/$Filename
です。そして、ここで、各行が1920x1080
(grepでは一致を反転させて$
、行末です)で終わっていないかどうかを確認し-v
ます。出力を確認します。
これで、これらのファイルを削除できます。
exiftool -q -p '$Directory/$FileName $ImageSize' **/+(*.mp4|*.mkv|*.flv) |
grep -v ' 1920x1080$' | sed 's: [^ ]*$::' |
xargs -d '\n' rm
sed 's: [^ ]*$::'
は、最後
から行末までのすべてを削除するので、AxB
の出力からの解像度exiftool
は削除され、ファイル名のみが保持されます。次にxargs rm
、各行をファイル名として受け取りrm
、それらを引数として実行します。
完了したら、グロビングオプションを無効にします。
shopt -u globstar globstar
複数の解像度を除外するには、でORを使用しますgrep
。
grep -Ev ' (1920x1080|1920x820|1280x544)$'
これは、広く使用されているすべてのビデオ形式のコマンドです
exiftool -q -p '$Directory/$FileName $ImageSize' **/+(*.mp4|*.mkv|*.flv|*.avi|*.webm|*.vob|*.mov|*.wmv|*.amv|*.m4p|*.m4v|*.mpeg|*.mpv|*.m4v|*.3gp)
これは、(ほぼ)すべてのHDビデオ形式を除外するコマンドです
grep -Ev ' (1920x1080|1920x1040|1920x1068|1906x952|1916x808|1920x808|1920x804|1916x812|1600x864|1436x1080|1920x820|1280x544|1920x800|1920x802|1920x816|1856x1080|1920x1072|1920x1056|1280x720|1280x536|1280x560|1280x538|1280x528|1216x544|1280x534|1280x532|1281x534|1278x714|1280x718|1280x688|1278x682|1280x690|1280x694|1280x660|1282x692|1280x692|1285x696|1278x544|1280x696|1279x718|1280x546|1281x546|960x720|1324x552|1305x552|1308x552|1536x640)$'
find
しgrep
ます。