Linux でファイルからフォルダーを作成するにはどうすればいいですか?

Linux でファイルからフォルダーを作成するにはどうすればいいですか?

すべての epub を見つけてディレクトリに移動するには、次のコマンドを実行しました。

find . -iname "*.epub" -exec mv {} /data/EPUB \;

これにより、すべての epub が連結されたスーパー ファイルが作成されました。これを再度分割する方法はありますか? スーパー ファイルをフォルダーに変更するコマンドはありますか?

答え1

最初にディレクトリを作成しなかった場合/data/EPUB、実際には、各ファイルの名前を 1 つずつ変更して、/data/EPUBそのたびに以前のファイルを上書きすることになります。

現在あるのは「スーパーファイル」ではなく、/data/EPUB移動された最後の .epub ファイルであり、他のすべての .epub ファイルは失われています (後続の移動によって上書きされたため)。

それらを取得するための簡単な方法はありません。

可能であれば、デバイスをすぐにアンマウントし、それ以上の書き込みを行わないようにしてから、次のようなプログラムを使用することをお勧めします。テストディスク上書きされたファイルの回復を試みる(詳細な手順もここ)。

今後は、mv -i上書きを促す which を使用して、今回のような間違いを検出することをお勧めします。

また、ディレクトリ名の後に末尾を付ける習慣をつけることをお勧めします/。これにより、ディレクトリが存在しない場合に失敗することで、このようなエラーもキャッチされます (ファイルであると想定するのではなく)。例:

find . -iname "*.epub" -exec mv -i {} /data/EPUB/ \;

関連情報