ディレクトリ名を移動した後にファイルを回復しますか?

ディレクトリ名を移動した後にファイルを回復しますか?

いくつかのテスト中にbastスクリプトを実行しました。

for file in *; do
    mv -v "$file" "$file#_*"
done

または同様の条項。計画はディレクトリ名からプレフィックスを削除することでしたが、誤って私が作成したテストディレクトリではなくホームディレクトリで実行しました...

私が理解したように、ディレクトリ内のすべてのファイルは「安全」でなければなりませんが(削除されていない状態で)、今はディレクトリ構造を介してそのファイルにアクセスできません。

これらのファイルを回復する方法はありますか?

よろしくお願いします。

修正する私の記憶が間違っているようです。ループのコマンドはfor実際にありましたecho mv ...。とにかく〜のすべてのディレクトリとファイルは私のビデオディレクトリに移動されましたが、破損していないようです。

答え1

そこで何をしたのか完全にはわかりませんが、質問のコマンドが実行したコマンドであれば、それを元に戻すことができるはずです。

for f in *
do echo mv -v "$f" "${f%"#_*"}"
done

echoうまくいくと確信するまで、このコマンドから何も削除しないでください。しかし、うまくいくと思う理由を説明するために私がしたことは次のとおりです。

for f in $(seq 100)
do echo $f > file$f
done

file1たとえば、これにより100個のファイルが残り、file100各ファイルにはその番号が含まれます。

$ cat file100
100

そうですね。それから私はあなたがしたことをしました。

for f in *
do mv -v "$f" "$f#_*"
done

file1#_*- 同じファイルがたくさんありますfile100#_*。その後、最初のコードブロックに貼り付けた操作を実行しましたが、エコーはありませんでした。

$ cat file100
100

関連情報