復元されたファイルの中から使用可能なファイルを見つけるにはどうすればよいでしょうか?

復元されたファイルの中から使用可能なファイルを見つけるにはどうすればよいでしょうか?

Recuva のようなデータ復旧プログラムを使用すると、ランダムなデータが入っているだけで使用できないファイルでも、ファイル名は正しいものなど、多数のファイルを「復旧」できます。これらのファイルや、意味のあるデータが入っているが修復が必要なファイルを自動的に検出し、残りのジャンク ファイルを削除する方法はありますか?

答え1

Linux では、このユーティリティはfile検討する価値があるかもしれません。ファイル名の拡張子に頼るのではなく、3 種類の異なるテストを使用して、渡された各ファイルを「テスト」します。(man fileさまざまなテストの説明については、を参照してください)。

ディレクトリ内のすべてのファイルをテストし、JPEG 画像の場合は新しいフォルダーにコピーする方法を次に示します。

#!/bin/bash

mkdir useful

for cfile in *; do
    fileres=$(file -b --mime-type "${cfile}")
    if [[ "${fileres}" == "image/jpeg" ]]; then
        cp "${cfile}" "useful/"
    fi
done

復元したファイルがすべて保存されているディレクトリでこのスクリプトを実行すると、jpeg ファイルのみがディレクトリにコピーされます。他のファイルタイプを探している場合は、スクリプト内の を、目的のファイルの MIME タイプにuseful置き換えるだけです。image/jpeg

関連情報