ターゲットフォルダに既に存在するフォルダのコピー/移動

ターゲットフォルダに既に存在するフォルダのコピー/移動

「folder」というフォルダをすでに「folder」を含むディレクトリにコピー/移動するbashスクリプトを作成しており、内容をマージしたいと思います。

私はこの問題に対する解決策を使用しようとしています。

mvを使ってフォルダをマージしますか?

cp -rl source/folder destination
rm -r source/folder

端末に最初の行を入力すると、元の「フォルダ」と宛先の「フォルダ」が期待どおりにマージされます。

ただし、マージされたフォルダの代わりにその行を含むスクリプトを実行すると、ターゲットには「フォルダ」と「空白」という2つのフォルダが含まれます。ここで、「空白」はソース「フォルダ」の内容を含む。

ベストアンサー1

SOURCEをDESTINATIONに追加すると、SOUCE + DESTINATIONがより複雑になります。 (自分の場合)探してみてください。

 man append 

あなたは試すことができます:

    cp  --recursive  --preserve --update  SOURCE DESTINATION     

指定された属性(デフォルト:モード、所有権、タイムスタンプ)、および可能であれば追加の属性:context、link、xattr、allを保持するには、「--preserve」を使用します。

ディレクトリを再帰的にコピーするには、「--recursive」を使用します。

ソースファイルがターゲットファイルよりも最新の場合、またはターゲットファイルが見つからない場合は、「--update」を使用してコピーします。

ターミナルヘルプ:

   cp --help   

または

  man cp  

端末が機能したら、bashスクリプトで試してください。

おすすめ記事