他のディレクトリにあるあるディレクトリのファイルを削除する

他のディレクトリにあるあるディレクトリのファイルを削除する

以下を使用してディレクトリをコピーしました。

cp -r dir/ ../../

特に考えずに上記のディレクトリに内容をコピーしたのではなく、dir内容をコピーしたという事実に気づきました。dir今すぐ正しく実行できるように、混乱しているファイルを削除する必要がありますcp。誤ってコピーしたファイルが特定のコンテンツと一致しない場合は、どのようにすべて削除しますか?

ベストアンサー1

さて、これは基本的に同じです。クラパウチウスの答え。 (cp既存のファイルの一部を上書きした場合に発生した破損は修復されません。)

ソースディレクトリ()にあるとしますdir。このコマンドは次のとおりです。

find . -type f -exec echo '{}' ';'

ディレクトリ内のすべてのファイルを(再帰的に)リストしますdir(に似ています-print)。この-type fオプションを使用すると、サブディレクトリは一覧表示されません。

したがって、以下を使用する場合:

find dir -type f -exec echo '../../../{}' ';'

これにより、ターゲットディレクトリに対応するファイル(コピー)が一覧表示されます。

リストが正しい場合は、次を使用してコピーを削除できます。

find dir -type f -exec rm -- '../../../{}' ';'

残りの空のディレクトリを整理することについてはcp…まあ…からインポートされたものです。

おすすめ記事