貴重なデータを保持するパーティションを再フォーマットすることで、痛いところ(本当に悪いところ)をなんとか撃ちました。もちろんそれは意図的なものではありませんでしたが、起こりました。
しかし、ほとんどのデータを使用testdisk
しphotorec
て回復することができました。これで、すべてのデータがほぼ25,000のディレクトリに分散されました。ほとんどのファイルは.txtファイルで、残りは画像ファイルです。各ディレクトリには300を超える.txtファイルがあります。
私がすることができますgrep
使用するか、またはfind
ファイルに.txtファイルを出力してから特定の文字列を抽出します。たとえば、次の行は、データが復元されたファイルにあることを確認するために使用しました。
find ./recup*/ -name '*.txt' -print | xargs grep -i "searchPattern"
「searchPattern」をファイルに出力することはできますが、そのパターンが得られるだけです。これが私が本当に達成したいことです:
すべてのファイルを調べ、特定の文字列を探します。その文字列がファイルで見つかった場合、そのファイルのすべての内容を出力ファイルにcatします。パターンが複数のファイルで見つかった場合は、後続のファイルの内容をその出力ファイルに追加します。検索しているパターンを出力したくないだけで、パターンが見つかったファイルのすべてのコンテンツを出力したいことに注意してください。
これは可能だと思いますが、特定のパターンをそこからgrepした後で、ファイルのすべてのコンテンツを取得する方法がわかりません。