重複項目の移動、マージ、名前変更のためのLinuxコマンド

重複項目の移動、マージ、名前変更のためのLinuxコマンド

ディレクトリ(サブディレクトリとファイルを含む)を別のディレクトリに移動しようとしています。一部のmvフォルダは、ファイルが同じディレクトリに存在するため、マージされません。これは、ソースディレクトリにあるファイルが最新バージョンであっても移動すると削除されるため、これはお勧めできません。

次のコマンドが必要です。

  1. 宛先ディレクトリに存在しないディレクトリを移動します。
  2. ターゲットディレクトリにすでに存在するディレクトリをマージします。
  3. 重複したファイルの名前を変更します(たとえば、file.txtすでに存在する場合はソースファイルの名前をに変更しますfile(1).txt)。

私はこれらすべてを処理するものが見つかりませんでした。

編集する

次のコマンドを試してみました。

mv -u [source] [destination]

ターゲットに存在しないディレクトリだけを移動し、重複した内容があるディレクトリは削除されると思います。したがって、ソースディレクトリのすべての最新ファイルは移動時に失われます。代わりに、これらのディレクトリをマージし、重複したファイルの名前を変更する必要があります。私はそれを十分に説明したことを願っています。

PS これは、ターミナルコマンドで書かれた場合に最適です。スクリプトを作成した経験はありません。

助けてくれてありがとう!

ベストアンサー1

ファイルが思ったように移動しないことがあります。-tor-Tオプションを使用することをお勧めしますmv

おすすめ記事